开通读写分离
读写分离是指通过一个读写分离的连接地址实现读写请求的自动转发。通过RDS的读写分离连接地址,写请求自动访问主实例,应用直连即可实现自动读写分离。本文将介绍如何开通读写分离功能。
开通单Proxy
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 单击页面左上角的
,选择“数据库 > 云数据库 RDS”。
图1 云数据库 RDS - 在实例列表中,单击目标实例的名称,进入实例的“基本信息”页面。
- 在左侧导航栏中,单击“数据库代理”。
您还可以在实例的“基本信息”页面,单击“连接信息”模块“读写分离地址”后的“申请”,跳转到“数据库代理”页面。
图2 开启读写分离入口 - 在“数据库代理”页面单击“立即开启”。
- 在“开启数据库代理服务”弹出框中,单击“确定”,开启实例的读写分离功能。
开启数据库代理服务时,如果代理实例规格是4U8G,则表示该代理实例是ha-proxy,如图3所示。
开启数据库代理服务时,如果可以选择代理实例规格和代理实例数量,则表示该代理实例是elb-proxy,如图4所示。
- 读写分离具备连接保持、读写分离能力。开启读写分离后,将新增1个读写分离连接地址,请将应用连接切换到新地址。
- 读写分离地址:通过读写分离地址连接数据库,可实现读写分离功能。
- 延时阈值:对于成功开启读写分离功能的实例,您可以设置其延时阈值。具体操作请参见设置延时阈值和读写分离权重。
- 读权重分配:对于成功开启读写分离功能的实例,您可以设置其主实例和只读实例的权重。具体操作请参见设置延时阈值和读写分离权重。
- ha-proxy和elb-proxy的区别如下:
ha-proxy只有两个节点,一主一备,同一时间只有主节点工作。
elb-proxy支持2~8个节点,通过elb转发客户端请求到proxy节点,所有节点同时工作。
开通多Proxy
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 单击页面左上角的
,选择“数据库 > 云数据库 RDS”。
图5 云数据库 RDS - 在实例列表中,单击目标实例的名称,进入实例的“基本信息”页面。
- 在左侧导航栏中,单击“数据库代理”。
您还可以在实例的“基本信息”页面,单击“连接信息”模块“读写分离地址”后的“申请”,跳转到“数据库代理”页面。
图6 开启读写分离入口 - 在“数据库代理”页面单击“创建数据库代理”。图7 创建数据库代理
- 在“开启数据库代理服务”页面,填选如下信息后,单击“下一步”。
表1 基本信息 参数
描述
计费模式
仅支持按需计费。
代理实例名称
实例名称的长度在4~64个字节之间,必须以字母或中文开头,可包含大写字母、小写字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。
读写属性
读写:读写分离。
只读:不连接主实例,无法接收写请求。
性能规格
选择代理实例的规格。创建后可以变更规格,具体请参见变更数据库代理的规格。
代理节点数量
支持2~8个节点。创建后可以修改,具体请参见调整代理节点数量。
建议您根据需要连接的只读实例个数设置代理节点数,1个只读实例配1个代理节点。
权重设置
选择需要分配权重的只读实例。
读权重分配:
- 读权重越高,处理的读请求越多,假设已选2个实例,权重分别设置为100,200,则当前proxy全部读请求自动按照1:2的比例发往已选实例(未选择的实例权限会设置为0),主实例只处理写请求。
- 一个只读实例可以关联多个代理,建议您根据当前主实例下只读实例的已有代理权重和流量拓扑设置当前代理的权重,尽量避免一个只读实例承载过多读请求。
- 对于成功开启读写分离功能的实例,您可以设置其主实例和只读实例的权重。具体操作请参见设置延时阈值和读写分离权重。
- 确认数据库代理信息。
- 如果需要重新选择,单击“上一步”,修改基本信息。
- 信息确认无误,单击“提交”,下发创建数据库代理请求。
- 创建完成后,可以在“数据库代理”页面查看并管理代理服务信息。图8 数据库代理
在“基本信息”页面查看读写分离地址,通过读写分离地址连接数据库,可实现读写分离功能。
该读写分离地址与实例的内网IP地址处于同一VPC和子网,且与实例的内网IP地址并存,互不影响。
图9 查看读写分离地址
