redis 频道 redis广播和zk广播

2.同城双活整体架构【redis 频道 redis广播和zk广播】1、两部分:ZK集群方案 , 路由策略(同机房优先) 。服务发现用两套独立的集群:provider只注册本集群 , consumer订阅两个 两种消费模式: 集群 和 广播 模式,双活中方案不一样的 。目标同机房自洽、业务无感知 。
2、建立两个机房:在同一个城市内建立两个机房 , 每个机房都具备独立承担对外提供业务的能力 。
3、同城双活可以使用不同厂家的硬件设备 , 但需要满足一定的要求和条件 。首先,不同厂家的硬件设备需要兼容和支持同城双活架构,能够实现数据的实时备份和故障切换 。
4、双活数据中心指的是热备份数据中心和冷备份中心 。
5、超融合备份,每个厂家都有自己的特色,一般来说超融合备份是有专门的功能模块,区别于传统的备份,如下图 , 有专门的数据保护与容灾模块 , 包括备份与双活集群 。
6、建议读者参照此前我分享过的《VMware的灾备与双活---我在vForum 2015分会场的分享(2)》一起进行阅读,这篇文章中已经包含的内容,本文将不再进行赘述 。
分布式系统一致性高可用的解决方案总结1、异步复制:使用数据复制的异步机制可以提高系统的可用性和性能 。数据更改可以被快速接受和处理,而副本的一致性会在后台异步更新 。两阶段提交(2PC):2PC是一种常见的协议 , 用于在分布式系统中实现数据一致性 。
2、要保证多个系统间数据一致,乍一看,必须要引入分布式事务框架才能解决 。但引入非常重的类似二阶段提交分布式事务框架会带来复杂性的急剧上升;在电商领域,绝对的强一致是过于理想化的,我们可以选择准实时的最终一致性 。
3、故障隔离的目的是 , 对故障组件进行隔离,以避免其影响系统中的其他组件,尽可能保证分布式系统的可用性 。
4、订单系统自动发起重试,多重试几次,例如三次,直到扣款成功为止 。
ZooKeeper的ZAB算法与Paxos的本质区别1、对于paxos 来说,每一个议案都要经过不同节点的提出,并且讨论,在提出一个议案的阶段,另外的提议会被否决,导致了性能的低下 。ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持 崩溃恢复 和 原子广播 协议 。
2、Paxos 对于提案的提交算法有两种方案 , 2PC 与 3PC 。它们的区别主要就在于 accept 阶段中是否包含 commit 功能 。具体看下面的描述 。Paxos 算法的 3PC 执行过程划分为三个阶段:准备阶段 prepare、接受阶段 accept,与提交阶段 commit 。
3、ZAB是Zookeeper使用的分布式一致性协议,英文全称是:Zookeeper Atomic Broadcast,因此ZAB也称之为Zookeeper原子广播协议 。在解决分布式一致性方面,Zookeeper并没有使用Paxos,而是采用了ZAB协议 。
4、Quorum 是分布式系统中常用的一种机制,用来保证数据冗余和最终一致性的投票算法,在 Paxos、Raft 和 ZooKeeper 的 Zab 等算法中,都可以看到 Quorum 机制的应用 。
5、Zab协议全称是 Zookeeper Atomic BroadCast (Zookeeper 原子广播),Zookeeper是通过Zab协议来保证分布式事务的一致性 。Zab协议是zookeeper专门设计的一种 支持崩溃恢复 的 原子广播协议, 是Zookeeper保证数据一致性的核心算法 。
6、ZAB 是在 Paxos 算法基础上进行扩展而来的 。

    推荐阅读