主备机房之间redis集群切换,如何保证容灾机房和主机房数据一致性?

主机房部署了redis集群,并数据持久化。
问题:要求容灾机房能在主机房发生灾难并不可修复的情况下,容灾机房能在一定时间内承担起主机房的业务能力。如何保障容灾机房的redis集群数据跟主机房一致??如何操作??谢谢

参与15

3同行回答

顾黄亮顾黄亮课题专家组技术总监畅销书作者
主要看你采用集群的方式,如果是cluster,请参考关于双活机房中cluster模式的组网,根据你的业务场景来决定。如果redis的使用中并不处在核心链路上,完全当做cache来使用,且在击穿情况下有后续的数据库来支撑,可以放在同一机房内。如果redis的使用在核心链路上,当做数据库来使用,在...显示全部

主要看你采用集群的方式,如果是cluster,请参考
关于双活机房中cluster模式的组网,根据你的业务场景来决定。
如果redis的使用中并不处在核心链路上,完全当做cache来使用,且在击穿情况下有后续的数据库来支撑,可以放在同一机房内。
如果redis的使用在核心链路上,当做数据库来使用,在单侧机房部署,不能保证多机房环境下的多活。以双活机房为例,集群有A、a、B、b、C、c节点,A、B、C三个节点部署在甲机房,a、b、c三个节点部署在乙机房,甲乙两个机房使用波分线路进行大二层透传,能够使某一业务同时在某一都使用同一网段地址。基于redis本身,能够实现双数据副本模式,当甲机房单侧异常时,乙机房单侧接管,重新完成组网,提供服务。

如果是其他集群,请描述,我再补充

收起
银行 · 2019-04-29
浏览5503
  • luny  luny
    cluster不是挂了一半以上主节点就用不了了吗?如果ABC都是主节点,或者包含了两个主节点,乙机房不能接管吧?
    2020-07-29
  • 顾黄亮  顾黄亮回复 luny
    在没有第三个数据中心的情况下,需要人工介入,我见过一种讨巧的方案,在第三个数据中心放某个节点,这个节点只承接一个solt
    2020-07-29
wangweilongwangweilong数据库管理员某大
可以采用twemproxy的架构进行演进。A地域部署proxy和redis实例(主),B地域部署proxy和redis实例(从),通过sentinel控制主从切换。正常情况下A、B地域的proxy同时提供服务,将请求路由到A地域的redis节点;一旦A地域故障,可以通过redis实例的主从切换,实现B地域的接管。当然proxy前面还...显示全部

可以采用twemproxy的架构进行演进。
A地域部署proxy和redis实例(主),B地域部署proxy和redis实例(从),通过sentinel控制主从切换。
正常情况下A、B地域的proxy同时提供服务,将请求路由到A地域的redis节点;一旦A地域故障,可以通过redis实例的主从切换,实现B地域的接管。
当然proxy前面还有一层负载均衡,能够将用户请求平均负载到多个proxy上,并且能够判断proxy的存活。

由于redis是异步复制,数据的完全一致性肯定无法保障,但是redis作为缓存层,对数据库一致性要求没那么高。

收起
互联网服务 · 2019-04-29
浏览4966
bulls_523bulls_523资讯技术经理中移电子商务有限公司
我司采用的是redis原生态的集群方式,3个节点,每个节点启主端口6379,备端口6380,形成一个环路的集群提供给业务使用,业务需要数据持久化,有订单数据计数器永久保存在redis中。目前主备机房没有打通大二层。主备机房各搭了一套redis集群,主机房redis采用rsync方式同步到备机房redi...显示全部

我司采用的是redis原生态的集群方式,3个节点,每个节点启主端口6379,备端口6380,形成一个环路的集群提供给业务使用,业务需要数据持久化,有订单数据计数器永久保存在redis中。目前主备机房没有打通大二层。主备机房各搭了一套redis集群,主机房redis采用rsync方式同步到备机房redis的相应目录下。备机房需要承接业务时,启动redis即可。不知道还有没有更好的方式保障??

收起
电信运营商 · 2019-04-29
浏览4982
  • 我大概明白你的意思了,我猜测1:你应该没有使用集群模式,而且采取了无状态的三个节点,进行组网。2:你采取的cluster,三主三从都是部署在单侧机房。目前你的做法是AB两个机房,你集群部署在A单侧机房,另外在B机房又复制了A机房的集群镜像,当单侧机房故障时,B机的redis进行启动进行加载数据提供服务。目前我有个问题,你们有没有演练过?且应用要不要改redis的IP? 如果你们对redis的场景没有横向扩展的要求,建议在redis集群上加一层代理,比如sentinel、twemproxy通过代理去路由redis,同时redis的主备分别部署两侧机房,当主节点异常,备节点进行选举接管。
    2019-04-29

提问者

bulls_523
资讯技术经理中移电子商务有限公司
擅长领域: 存储灾备双活

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2019-04-29
  • 关注会员:3 人
  • 问题浏览:7506
  • 最近回答:2019-04-29
  • X社区推广