9、Raft算法(三):如何解决成员变更的问题?你好,我是韩健。 在日常工作中,你可能会遇到服务器故障的情况,这时你就需要替换集群中的服务器。如果遇到需要改变数据副本数的情况,则需要增加或移除集群中的服务器。总的来说,在日常工作中,集群中的服务器数量是会发生变化的。 讲到这儿,也许你会问:“老韩,...2025-11-03分布式协议与算法实战
10、一致哈希算法:如何分群,突破集群的“领导者”限制?你好,我是韩健。 学完前面几讲后,有些同学可能有这样的疑问:如果我们通过Raft算法实现了KV存储,虽然领导者模型简化了算法实现和共识协商,但写请求只能限制在领导者节点上处理,导致了集群的接入性能约等于单机,那么随着业务发展,集群的性能可能就扛不住了...2025-11-03分布式协议与算法实战
11、Gossip协议:流言蜚语,原来也可以实现一致性你好,我是韩健。 有一部分同学的业务在可用性上比较敏感,比如监控主机和业务运行的告警系统。这个时候,相信你希望自己的系统能在极端情况下(比如集群中只有一个节点在运行)也能运行。回忆了二阶段提交协议和Raft算法之后,你发现它们都需要全部节点或者大多数...2025-11-03分布式协议与算法实战
12、Quorum NWR算法:想要灵活地自定义一致性,没问题!你好,我是韩健。 不知道你在工作中有没有遇到这样的事儿:你开发实现了一套AP型的分布式系统(我在[04讲]提到了AP型系统的特点,你可以回顾一下),实现了最终一致性。业务也接入了,运行正常,一起看起来都那么美好。 可是,突然有同事说,我们要拉这几个业...2025-11-03分布式协议与算法实战
13、PBFT算法:有人作恶,如何达成共识?你好,我是韩健。 学完了[01讲]的拜占庭将军问题之后,有同学在留言中表达了自己的思考和困惑:口信消息型拜占庭问题之解在实际项目中是如何落地的呢?先给这位同学点个赞,很棒!你能在学习的同时思考落地实战。 不过事实上,它很难在实际项目落地,因为口信消息...2025-11-03分布式协议与算法实战
14、PoW算法:有办法黑比特币吗?你好,我是韩健。 谈起比特币,你应该再熟悉不过了,比特币是基于区块链实现的,而区块链运行在因特网上,这就存在有人试图作恶的情况。学完[01讲]和[13讲]之后,有些同学可能已经发现了,口信消息型拜占庭问题之解、PBFT算法虽然能防止坏人作恶,但只能防...2025-11-03分布式协议与算法实战
15、ZAB协议:如何实现操作的顺序性?你好,我是韩健。 很多同学应该使用过ZooKeeper,它是一个开源的分布式协调服务,比如你可以用它进行配置管理、名字服务等等。在ZooKeeper中,数据是以节点的形式存储的。如果你要用ZooKeeper做配置管理,那么就需要在里面创建指定配置,假...2025-11-03分布式协议与算法实战
16、InfluxDB企业版一致性实现剖析:他山之石,可以攻玉你好,我是韩健。 学习了前面15讲的内容后,我们了解了很多常用的理论和算法(比如CAP定理、Raft算法等)。是不是理解了这些内容,就能够游刃有余地处理实际系统的问题了呢? 在我看来,还远远不够,因为理论和实践的中间是存在鸿沟的,比如,你可能有这样的...2025-11-03分布式协议与算法实战
17、Hashicorp Raft(一):如何跨过理论和代码之间的鸿沟?你好,我是韩健。 很多同学在开发系统的时候,都会有这样的感觉:明明自己看了很多资料,掌握了技术背后的原理,可在开发和调试的时候还是很吃力,这是为什么呢? 答案很简单,因为理论和实践本来就是两回事,实践不仅需要掌握API接口的用法,还需要理解API背后...2025-11-03分布式协议与算法实战
18、Hashicorp Raft(二):如何以“集群节点”为中心使用API?你好,我是韩健。 上一讲结束后,相信有的同学已经跃跃欲试,想把Hashicorp Raft使用起来了。不过,也有一些同学跟我反馈,说自己看到Hashicorp Raft的Godoc,阅读完接口文档后,感觉有些不知所措,无从下手,Hashicorp R...2025-11-03分布式协议与算法实战