随笔分类 - 分布式理论基础和原理
摘要:在服务启动时,服务提供者会向注册中心注册服务,暴露自己的地址和端口等,注册中心会更新服务列表。服务消费者启动时会向注册中心请求可用的服务地址,并且在本地缓存一份提供者列表,这样即便注册中心宕机了,仍然可以正常调用服务。 如果提供者集群发生变更,注册中心会将变更推送给服务消费者,更新可用的服务地址列表
阅读全文
摘要:RPC 远程服务调用是分布式服务架构的基础。 RPC(Remote Procedure Call)是一种进程间通信方式,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 RPC 允许程序调用另一个地址空间的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本
阅读全文
摘要:Zookeeper 架构 首先简单介绍下 Zookeeper 集群,一个 Zookeeper 集群通常由一组机器组成,一般3~5台集群就可以组成一个 Zookeeper 集群。集群拓扑图基本如下: Zookeeper 集群中每一个节点都会在内存中维护当前的节点状态,并且彼此之间保持着通信 Leade
阅读全文
摘要:在分布式场景中,ZooKeeper 的应用非常广泛,比如数据发布和订阅、命名服务、配置中心、注册中心、分布式锁等。 ZooKeeper 提供了一个类似 Linux 文件系统的数据模型,和基于 Watcher 机制的分布式事件通知,这些特性都依赖 ZooKeeper 的高容错数据一致性协议。 那么问题
阅读全文
摘要:在了解Quorum机制之前,先回顾一下数据一致性 强一致性:在任意时刻,从任意不同副本取出的值都是一样的。 弱一致性:有时泛指最终一致性,是指在任意时刻,可能由于网络延迟或者设备异常等原因,不同副本中的值可能会不一样,但经过一段时间后,最终会变成一样。 显然,我们更想要做到强一致性的这种效果,那么有
阅读全文
摘要:CAP理论及BASE理论的关系 base理论是在cap理论的基础上发展的,cap描述了分布式系统中数据一致性,可用性,分区容错性之间的制约关系。当你选择其中两个的时候,就不得不对另外一个做出一定的牺牲。 base理论则是对cap理论的实际应用,也就是在分区和副本存在的前提下,通过一定的系统设计方案,
阅读全文
摘要:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 Consistency 一致性是指 “all nodes see the same data at the same time.”
阅读全文
摘要:为什么需要分布式事物 比如某一系统中,有两个独立的微服务,一个是订单服务,一个是库存服务。这俩服务各自都有一个自己的数据库。 那么一个用户在下单时候怎么保证在订单库里有一条订单数据,同时,库存数据库的数据也能相应的减少,让两边数据维持着一致性,不能出现订单创建完成,而库存没有对应减少的情况,这就需要
阅读全文