Skip to content

Commit

Permalink
更新
Browse files Browse the repository at this point in the history
  • Loading branch information
isno committed Nov 1, 2023
1 parent dac6587 commit 3c5c851
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion consensus/summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@

微服务架构设计有个服务无状态(stateless)的原则,无状态服务不存储任何信息,这样更容易的横向扩展,实现高可用目标。无状态服务如果需要存储数据时,就往中间件转移。比如持久化的数据往关系数据库存储,缓存的数据往 Redis 存储,消息的接收往 MQ 转移等等。

数据存储到中间件,问题只是被转移,并没有解决,这些带有数据的中间件该如何保证高可用呢?把数据分成多个备份存储在多个节点之中,多个节点组成一个集群,当单个或少数成员发生故障时,保证集群系统还是整体一致性的状态就可以。但问题往往没这么简单,能让分布式集群即使是在部分节点故障、网络延时、网络分割的情况下,仍能最终表现出整体一致的过程,就是我们本章要讨论的话题 -- 分布式共识。
数据存储到中间件,问题只是被转移,并没有解决,这些带有数据的中间件该如何保证高可用呢?能让分布式集群即使是在部分节点故障、网络延时、网络分割的情况下,整体集群仍具有容错性并最终表现出整体一致的过程,就是我们本章要讨论的话题 -- 分布式共识。

聊分布式共识,避不开 Paxos,不过 Paxos 也因算法复杂而著名,这一节我们就知难而上,从 Paxos 入手,去掉无关干扰,直达分布式系统的解决问题的本质。

0 comments on commit 3c5c851

Please sign in to comment.