设为首页收藏本站language 语言切换
查看: 1824|回复: 1
收起左侧

[分享] 【SPOTO思博网络】【网工小白入门必看】运维基础《云数据库Redis》

[复制链接]
发表于 2021-11-15 16:11:29 | 显示全部楼层 |阅读模式
【SPOTO思博网络】【网工小白入门必看】运维基础《云数据库Redis》

云数据库Redis版容灾架构演进

程序在运行过程中总会遇到各种各样的问题,例如程序BUG、设备故障、机房断电等,理想的容灾机制能够在这些问题发生时,保证数据的一致性和业务可用性。云数据库Redis版为了保证业务的高可用,不断提升容灾能力,为不同的业务场景提供相应的高可用方案。


下图反映了云数据库Redis版容灾架构的演进历史。




当前三种方案同时存在,您可以根据业务需求选择合适的方案。下文将对各方案进行详细介绍。


1.png


单可用区高可用机制


Redis全架构均支持单机房HA高可用架构。HA监控系统采用独立的平台化架构,提供跨可用区的高可用机制,使云数据库Redis版比自建Redis更稳定。



标准版-双副本实例采用双机主从(Master-Replica)架构,高可用HA模块侦测到主节点故障时,会自动进行主从切换,将Replica提升为Master,而原来的Master恢复连接后会成为新的Replica。


实例默认开启数据持久化功能,支持数据自动备份,您可以使用备份文件回滚实例或者克隆实例,有效地解决误操作问题并实现可靠的灾备。




2.png

集群版-双副本实例由配置服务器、代理服务器和分片服务器组成:



配置服务器(Config Server)是用于提供全局路由信息和配置信息的集群管理工具,采用遵循Raft协议的三副本集群架构



代理服务器(Proxy Server)为单节点架构,集群版结构中会有多个Proxy,系统自动对所有Proxy进行负载均衡及故障转移



分片服务器(Shard Server)同样采用双副本高可用架构,与标准版-双副本实例相同,主节点故障之后,HA模块会自动进行主从切换保证服务高可用,并更新Proxy Server和Config Server的信息



file:///C:\Users\86152\AppData\Local\Temp\ksohtml\wps14CF.tmp.jpg


3.png

读写分离版实例由代理服务器、主从架构的读写节点以及若干只读副本(Read-Only Replica)构成。



高可用HA模块实时监测各节点的状态,在读写节点的主节点发生故障时发起主从切换,同时将只读节点连接到新的主节点上来



当只读节点发生故障时, HA模块将重建只读节点,并更新相应的路由及权重信息



Proxy实时监控只读节点的服务状态,当发现某个只读节点状态异常时会降低该节点的权重。如果只读节点多次连接失败,Proxy将停止该节点的服务,直至其恢复正常



file:///C:\Users\86152\AppData\Local\Temp\ksohtml\wps15BB.tmp.jpg

4.png
file:///C:\Users\86152\AppData\Local\Temp\ksohtml\wps188A.tmp.jpg

同城容灾机制




Redis标准版和集群版提供跨双机房的同城容灾架构。如果业务为单一地域部署,且对容灾要求较高,可在创建云数据库 Redis版实例时,选择支持同城容灾的可用区,如下图中的华东1多可用区(B+F)或华东1多可用区(G+H)。

5.png

创建多可用区实例时,备机房将创建与主机房相同规格的Replica实例,主备机房的实例数据通过专门的复制通道同步。


当主机房出现电力或网络问题时,Replica实例将升级为Master实例,系统调用Config Server接口为Proxy更新路由信息。


底层网络根据路由精细度实现故障切换,主机房网段的精细度高,因此在正常情况下,数据会直接传输到主机房的实例;


当主机房出现故障时,不会上传路由明细信息,此时骨干网中只存在备机房的精细度较低的大网段路由信息,系统就会自动把请求路由到备机房,从而实现故障切换。


云数据库Redis版优化了Redis的同步机制,在同步位点上借鉴MySQL的GTID,实现了全局OpID,并且查找OpID的操作通过后台线程无锁进行。同时,发送AOF binlog是异步同步的过程,可以限流,保障了Redis服务的性能。





6.png

跨地域容灾


云数据库Redis版提供了全球范围的异地多活服务,即Redis全球多活,适用于需要在多地域同步部署的业务场景,与传统的灾备方案最大的区别在于多活。异地多活架构使业务能够在多个地域同时进行,各地域中的全球多活子实例实时双向同步。


说明:Redis全球多活当前仅对部分测试用户开放。


Redis全球多活实例由多活子实例、同步通道以及通道管理器构成。



多活子实例是基本服务单元,所有子实例均可读写



同步通道支持子实例间的实时双向同步,以及容忍度达到天级别的断点续传



通道管理器管理同步通道的生命周期,同时处理子实例在故障时的主从切换以及备份重搭,保证多活实例的高可用





7.png

说明:子实例间通过异步复制进行同步,不影响Redis的服务性能。


使用Redis全球多活架构时,可在业务端设置切换条件,使得业务流量在某一地域出现问题时切换到另一地域的子实例上,保证业务的可用性。


Redis全球多活实例的创建方法请参见创建多活实例。

云数据库Redis版提供了实例级别、可用区级别、地域级别的多种高可用架构,请根据业务需要选择合适的灾备方案。

进入全国网络工程师交流群 ,请扫描下方二维码↓↓↓
群里有行业大咖、实战分享、技术交流、技术咨询、企业内推等机会
若群满,请添加
老杨微信(spotoa),邀你进群



加我 领取更多的学习资料的副本.png
 楼主| 发表于 2022-8-16 11:18:33 | 显示全部楼层
如果你有以下需求:
1. 有需要思科/华为考证【稳定题库】
2. 想要进入全国网工交流群,和更多同伴连接
3. 对网工生涯迷茫,想要有大佬可以指点迷津~

欢迎扫描下方二维码,加老杨老师的微信,作为CCIE+9年网工,他对行业的了解可谓是颇深。围观他的朋友圈,能学习到的技术和视野远远超过你的想象,欢迎扫码加v!!!


沙发 2022-8-16 11:18:33 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-25 00:20 , Processed in 0.059914 second(s), 25 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表