只读实例与RO组--助力MySQL实现读写分离,提升扩展性
Posted 腾讯数据库技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了只读实例与RO组--助力MySQL实现读写分离,提升扩展性相关的知识,希望对你有一定的参考价值。
架构
随着用户业务发展,数据库的读扩展往往成为必然需求。CDB for mysql支持只读实例,并且添加了RO组的概念,以实现读写分离和读能力的扩展。整体架构如下所示:
只读实例和主实例之间通过通过Binlog进行数据同步;只读实例的规格可以和主实例不同,但一般建议大于等于主实例规格。
产品特点
按需扩展
RO组以及RO实例可以水平扩展,应用可根据需要部署以实现读能力扩展。健康检查
CDB为主实例和只读实例都提供了拨测、监控和报警功能。拨测以用户侧视角,探测实例是否可达、可用;监控提供详细的实例运行信息,最低至分钟级(秒级监控即将上线)的采集频率。当实例出现不可用,或者被隔离时,用户会收到相应报警。对于只读实例,CDB还提供了自动剔除功能。
独立设置RO组参数
每个RO组可以分别配置如下参数:RO组名称:区别每个RO组单元
是否开启自动剔除功能:开启后会自动剔除高延迟实例
延迟阈值:超过此阈值后触发剔除动作
最少保留实例数:RO组内最少保留的只读实例个数,到达此下限后不再剔除
自动剔除高延迟实例
CDB会自动检测只读实例的延迟。在开启了自动剔除功能的情况下,如果有只读实例的主从差距超过设置的阈值,那么只读实例会被隔离,不会再有流量分配到此只读实例上;如果只读实例主从差距恢复,那么只读实例会被自动加回RO组,继续服务读请求。重新负载均衡
在进行了权重配置之后,会立即对新的流量请求生效,不会影响原有连接。如果有立即生效的需求,可以在设置权重时,选择重新负载均衡。重新负载均衡功能会kill原有连接,并根据新的权重进行流量分配。
已知限制
只读实例和主实例之间可能存在主从差距,不能保证在只读实例上的一致性读。如果有一致性读的需求,需要从主实例读取数据。
使用说明
如果希望了解如何使用只读实例和RO组功能,可参考下列腾讯云文档,欢迎试用!
只读实例 (https://cloud.tencent.com/document/product/236/7270)
RO Group (https://cloud.tencent.com/document/product/236/11361)
以上是关于只读实例与RO组--助力MySQL实现读写分离,提升扩展性的主要内容,如果未能解决你的问题,请参考以下文章