CAP

微服务架构CAP

一、分布式系统CAP

        C【Consistency】: 一致性,即数据一致性,特指分布式系统中的数据一致性。

        A【Availability】: 可用性,即服务的高可用,特指分布式系统中的服务的高可用,某个服务瘫痪不影响整个分布式系统的正常运行。

       P【Partition Tolerance】: 分区容错性(也有的叫分区耐受性),即网络故障,特指分布式系统中服务之间出现了网络故障,整个分布式系统仍然保持可用性和一致性。

       

              

 总结CAP:在分布式系统中,网络故障,服务瘫痪,整个系统的数据仍然保持一致性。

二、分布式系统解决方案

       2.1、AP【牺牲一致性】:保证高可用,保证分区容错,牺牲数据一致性。

                解决思路:网络恢复后,重启请求。

       2.2、CP【牺牲可用性】:保证数据一致性。

                解决思路:只有等网络恢复正常后,才能成功下单。

       2.3、CA【牺牲分区容错】:不要P分区,即不允许出现网络故障,这不可能实现

三、常见微服务注册中心CAP原理

       3.1、zookeeper

                采用CP原理,即保证数据一致性,牺牲可用性。zk集群在选举出leader节点期间,Client客户端无法注册,即zookeeper服务不可用,牺牲了系统可用性。

               CP有个致命缺点:大型分布式系统中,网络非常复杂,leader节点出现故障频率特别高i,很容易引起雪崩。故而很多大型分布式系统都不会选择zookeeper作为注册中心。

       3.2、Eureka

                采用AP原理,保证系统可用性,牺牲一致性。

                Eureka数据同步原理:

                第一步,Client1 客户端注册到 eureka Server1 服务中;

                第二步,eureka Server1 直接告诉 Client1 注册成功。

                第三步,eureka Server1 把 Client1 的注册信息同步给 Server2,为了保证服务的可用性,eureka Server 之间是异步同步的。

参考文章:https://cloud.tencent.com/developer/article/1589357

 

posted on   木乃伊人  阅读(59)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示