26、B+ Tree:PostgreSQL 的索引是如何建立的你好,我是微扰君。 过去几讲我们学习了一些经典的分布式算法,主要涉及多个节点之间的协作方式,在现在的业务场景下,它们更多被封装在各种中间件或者类库中,直接供我们使用,不过背后的很多思想还是很值得好好学习体悟的。 从今天开始,我们将更加贴近日常业务开发...2025-12-08业务开发算法50讲
25、一致性哈希:如何在集群上合理分配流量你好,我是微扰君。 上一讲我们学习了在分布式系统中,生成全局唯一ID的两种方式,既可以通过引入独立组件远程调用申请ID,也可以通过约定的方式让各个节点独立生成唯一ID。 那对于有多个节点的服务,其他服务或者客户端在访问这个服务的时候,具体应该访问哪一...2025-12-08业务开发算法50讲
24、UUID:如何高效生成全局的唯一ID你好,我是微扰君。 今天我们来聊一聊在生产环境中非常常用的一个算法——全局唯一ID生成算法,也就是我们通常说的UUID。 就和我们在社会中都有自己的身份证号作为自己的唯一标示一样,在互联网的应用中,很多时候,我们需要能生成一个全局唯一的ID,去区别不...2025-12-08业务开发算法50讲
23、Raft:分布式系统间如何达成共识你好,我是微扰君。 今天我们要来谈一谈分布式系统中一个非常重要的问题:分布式共识问题,也就是一致性问题。 我们知道,分布式系统的诞生,主要是为了提供单机无法进行的计算和存储、提高吞吐量、增加容错性等。而在现在的互联网架构下,分布式系统由于大量使用廉价...2025-12-08业务开发算法50讲
22、PageRank:谷歌是如何计算网页排名的你好,我是微扰君。 上一讲我们学习了谷歌三架马车之一 MapReduce。建立在Google File System的基础上,MapReduce很好地解决了谷歌当时的大规模分布式计算问题,让业务工程师不再需要处理和分布式计算相关的容错、数据分发、计算...2025-12-08业务开发算法50讲
21、分而治之:MapReduce如何解决大规模分布式计算问题你好,我是微扰君。 从今天开始,我们就真正开始学习算法在工业界应用了。和前面的章节不同,分布式系统篇的很多算法,一般都是由工程师们提出来的,为了解决一些大规模网络应用中的实际问题,比如为了解决海量网页排名而发明的pagerank算法、为了解决分布式系...2025-12-08业务开发算法50讲