前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >只读实例与RO组--助力MySQL实现读写分离,提升扩展性

只读实例与RO组--助力MySQL实现读写分离,提升扩展性

作者头像
腾讯数据库技术
发布2018-06-05 17:21:19
2.3K0
发布2018-06-05 17:21:19
举报
文章被收录于专栏:腾讯数据库技术

架构

随着用户业务发展,数据库的读扩展往往成为必然需求。CDB for MySQL支持只读实例,并且添加了RO组的概念,以实现读写分离和读能力的扩展。整体架构如下所示:

RO组是只读实例的集合,一个RO组共享一个地址,通过VIP:VPORT进行访问。同时还可以设置其中的只读实例的权重,从而进行流量负载均衡。用户根据需要部署RO组和只读实例,并将相应的读请求按一定规则发送到只读实例。

只读实例和主实例之间通过通过Binlog进行数据同步;只读实例的规格可以和主实例不同,但一般建议大于等于主实例规格。

产品特点

  • 读写地址分离 主实例地址和只读实例地址分离,主实例可以进行读写,只读实例只能用于读操作。
  • 按需扩展 RO组以及RO实例可以水平扩展,应用可根据需要部署以实现读能力扩展。
  • 自动负载均衡 读地址以RO组为基本单位对外提供,每个RO组有一个读地址。同一个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)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯数据库技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架构
  • 产品特点
  • 已知限制
  • 使用说明
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档