专属集群MyBase for MySQL主从版采用一主多读架构,一次可同时创建一个主实例和五个只读实例。通过开启代理,使用独享代理地址实现读写请求的自动转发;同时可设置只读实例是否可主备切换,当主实例出现故障无法访问时,会自动切换到只读实例,保证高可用性。本文介绍MyBase for MySQL主从版实例使用流程。

活动说明

该功能公测中,请使用钉钉搜索32484333群组或扫描下方二维码,进群联系技术人员添加用户白名单。

数据库上云

MyBase for MySQL主从版优势

  • 可横向扩展集群读能力

    支持批量创建只读实例(一次最多创建一个主实例,五个只读实例),若首次创建时选择的只读实例数量未达到上限要求,后期可手动添加,实现线性扩展读能力。

  • 高可用能力

    只读实例可设置主备切换,当主实例出现故障无法访问时,会自动切换到只读实例,从而保证高可用性。

MyBase for MySQL主从版应用场景

  • 利用只读实例分担流量高峰读请求

    例如,对于新零售类企业,在应对双十一等活动期间的流量高峰时,通过只读实例承担业务主要读请求,业务层实现读写分离和流量控制,可支撑数倍于原业务的流量。

  • 独立隔离分析任务到只读实例

    企业客户都有数据智能分析的需求,提供一个独立的只读实例用于数据分析,可降低主实例发生阻塞的几率,提高并发度,同时降低对核心业务查询的干扰,保障业务的稳定性。

前提条件

  1. 您已创建部署方式为高可用\主从版,数据库引擎为MySQL的专属集群,详情请参见创建MySQL集群

  2. 您已创建存储类型为ESSD云盘,数据库引擎为MySQL的主机,详情请参见添加MySQL主机

  3. 您已创建数据库版本为5.7,实例系列为主从版的MySQL实例,详情请参见创建MyBase for MySQL实例

后续步骤

  1. 主实例开通代理,通过提供的一个独享代理地址,您连接该地址后即可对主实例和只读实例进行读写操作,读写请求被自动转发到对应实例。详情请参见开通代理
    说明 若您不再需要使用代理,详情操作请参见关闭代理
  2. (可选)修改实例私网地址
  3. (可选)申请实例外网地址
  4. (可选)手动添加只读实例。详情请参见添加只读实例
  5. 访问实例。详情请参见通过客户端、命令行访问MySQL实例

费用说明

由于MyBase for MySQL主从版仅支持云盘存储类型的实例,该类型实例需要支付云盘的存储空间费用,收费规则为按量付费(按照创建实例时选择的存储空间大小对应的每小时单价 × 实际使用时长收费)。
注意 主实例和只读实例都收费。除此之外,还会产生独享代理的费用,代理费用详情请参见独享代理费用说明

开通代理

通过给主实例开通代理,使得写请求自动转发到主实例,读请求自动转发到各个只读实例。

读写分离
  1. 登录云数据库专属集群控制台
  2. 在页面左上角,选择目标地域。
  3. 在左侧单击实例列表 > MySQL
  4. 找到目标主实例,单击操作列的详情,进入RDS管理控制台页面。
  5. 在左侧导航栏单击服务可用性,单击右侧的开通代理
  6. 单击立即开启代理,在弹出的页面设置代理个数,单击立即开启
    开启数据库代理服务
    说明
    • 推荐的代理个数为主实例及只读实例CPU核数的1/8 (向上取整),最多60个。

      例如主实例为8核CPU,只读实例为4核CPU,则推荐代理数量= (8+4)/8 ≈ 2。

    • 独享代理、只读实例和主实例均独立收费,三者互不干扰。代理费用详情请参见独享代理费用说明
    • 主实例若被释放,独享代理会自动跟随主实例释放,释放后不再产生费用。

关闭代理

  1. 登录云数据库专属集群控制台
  2. 在页面左上角,选择目标地域。
  3. 在左侧单击实例列表 > MySQL
  4. 找到目标主实例,单击操作列的详情,进入RDS管理控制台页面。
  5. 在左侧导航栏单击数据库代理,单击右侧的关闭代理服务,在弹出的页面单击确定
    关闭代理服务
    说明 关闭了代理服务,您需要在应用程序中分别配置主实例和每个只读实例的连接地址,才能实现将写请求发往主实例而将读请求发往只读实例,请根据实际需求谨慎选择。

修改实例地址

您可以编辑主实例和只读实例的私网以及公网地址。
说明
  • 默认提供内网地址,无需申请,无法释放。
  • 如果您的应用部署在ECS实例,且ECS实例与该实例在同一地域,且网络类型相同,则该实例与ECS实例可以通过内网互通,无需申请外网地址。
  • 通过内网访问实例安全性高。
  1. 登录云数据库专属集群控制台
  2. 在页面左上角,选择目标地域。
  3. 在左侧单击实例列表 > MySQL
  4. 找到目标实例,单击操作列的详情,进入RDS管理控制台页面。
  5. 在左侧导航栏单击服务可用性,单击地址信息框对应地址类型的编辑按钮。
    修改外网地址
  6. 在弹出的页面修改连接地址信息,单击确定
    修改连接地址信息修改公网连接地址
    说明
    • 连接地址前缀以小写字母开头,8~64个字符,支持字母、数字和连字符(-)。
    • 端口范围为1000~65534。
    • 若没有申请过公网地址,可按需申请公网地址

申请公网地址

无法通过私网访问实例时,您需要申请公网地址。具体场景如下:
  • ECS实例访问该实例,且ECS实例与该实例位于不同地域,或者网络类型不同。
  • 阿里云以外的设备访问实例。
说明
  • 申请公网地址和后续产生的公网流量暂不收费。
  • 公网地址会降低实例的安全性,请谨慎使用。
  • 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与该实例在同一地域且网络类型相同的ECS实例,然后使用私网地址。
  1. 登录云数据库专属集群控制台
  2. 在页面左上角,选择目标地域。
  3. 在左侧单击实例列表 > MySQL
  4. 找到目标实例,单击操作列的详情,进入RDS管理控制台页面。
  5. 在左侧导航栏单击服务可用性,单击地址信息框私网地址的申请按钮。
    申请外网地址
  6. 在弹出的页面单击确定

添加只读实例

若MyBase for MySQL主从版批量创建一主多读实例时,您选择的只读实例个数小于等于5,后期由于业务需求需要更多数量的只读实例,您可以手动添加。

  1. 登录云数据库专属集群控制台
  2. 在页面左上角,选择目标地域。
  3. 在左侧单击实例列表 > MySQL
  4. 找到目标主实例,单击操作列的详情,进入RDS管理控制台页面。
  5. 在左侧导航栏单击服务可用性,在右侧单击增加节点
    增加节点
  6. 在创建只读实例页面,设置如下参数。
    参数 说明
    主实例名称 主实例的名称。
    数据库类型 默认为MySQL,无法更改。
    当前版本 默认为5.7,无法更改。
    系列 默认为主从版,无法更改。
    只读实例数量 展示当前主实例对应的只读实例的个数。最大可设置为5。
    只读是否可切换 只读实例主备切换开关,默认为打开。当主实例出现故障无法访问时,会自动切换到只读实例。
    存储类型 默认为ESSD云盘,无法更改。
    主实例规格 展示主实例信息:所在可用区、存储空间、以及实例规格。
    实例规格 选择只读实例的实例规格。
    说明 建议与主实例的规格一致,否则会对主实例的可用性造成影响。
    存储空间 您可以根据页面提示合理设置只读实例的存储空间。
    部署方案 部署方案当前支持默认策略指定主机
    说明
    • 若您选择指定主机,那么下方的网络信息默认为您指定主机的信息,无法更改。
    • 若您选择默认策略,那么您需要选择实例所在主机的可用区以及交换机。
    网络类型 默认为专有网络,不可更改。
    可用区 展示主实例所在集群内所有主机所在的可用区,您可以根据实际需求选择。
    专有网络 默认为主实例所在集群的VPC。
    交换机 展示主机所属交换机。如果选择为空,可单击下方创建交换机创建。
  7. 单击确定