查看其它 2 个回答wanglaye的回答

wanglayewanglaye课题专家组信息技术经理某大型金融机构
  1. 分布式数据库的高可用依赖一致性协议+多副本机制。
    故障发生后主从副本的切换,这部分工作可以由集群根据一致性协议自动选举leader后实现,无需进行人工干预,完全自动进行;当然,也可以手工进行切换。整个过程业务无感知,切换过程会有瞬间影响.

2.关于容灾,从概念上将分布式数据库的容灾机制有点类似集中式架构的“多活”+灾备结合的方式。在主集群之外,准备一套灾备集群。
先说多活,指的是leader。分布式数据库生产集群采用两地三中心五副本架构,同城生产机房2副本、同城灾备机房2副本、异地灾备机房1副本,根据一致性协议以及“大多数”原则,必须保证有3副本存活才能维持数据库正常服务。为了保证数据库写服务效率,异地机房的1副本仅作为从副本,因此无leader,所有的leader都分布在同城两个机房里。 如果异地机房出故障,那么集群剩下4副本,此时写操作请求发生后,只要有3个副本写成功即可,同时,同城两个机房有全部leader,因此无需重新选举leader; 如果同城任一机房故障,那么集群剩下3副本 ,此时写操作请求发生后,需要3个副本都写成功才认为成功, 但是由于有1个副本在异地,存在异地延时,影响写效率,因此这种情况要先人工将集群5副本降为3副本,然后由集群在同城另一个正常的机房自动选举出leader。
除了上述场景,在异地灾备机房可以单独准备一套灾备集群,与生产集群进行数据同步,从而实现传统意义上的“灾备”。

银行 · 2022-06-02
浏览568

回答者

wanglaye
信息技术经理某大型金融机构
擅长领域: 数据库服务器分布式系统

wanglaye 最近回答过的问题

回答状态

  • 发布时间:2022-06-02
  • 关注会员:4 人
  • 回答浏览:568
  • X社区推广