微服务架构中的CAP原理是什么

发布时间:2021-12-03 15:14:32 作者:柒染
来源:亿速云 阅读:168

本篇文章给大家分享的是有关微服务架构中的CAP原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

什么是分布式 CAP 原理,什么是分区容错性,zookeeper 和 eureka 的 CAP 区别是什么,还有作为公司的架构师你们是怎么做的,那些分布式系统设计成了 CP、AP,为什么这样设计等等一系列问题。

分布式系统 CAP 到底指什么

微服务架构中的CAP原理是什么

一句话概括 CAP在分布式系统中,网络故障,服务瘫痪,整个系统的数据仍然保持一致性

上面的表述可能不容易理解,举一个通俗的例子讲讲什么是分布式 CAP 原理。

微服务架构中的CAP原理是什么

大白话描述案例:

如上图所示,小张在京东商城准备购买几本微服务实战相关的书籍,订单总金额共 200 元,他刚好有一张满 200 减 100 元的优惠劵。 

这时分 3 种情况说明分布式系统的 CAP 如下:

  1. 数据一致性体现

  2. 系统可用性体现

  3. 系统分区容错性体现

什么是分区容错性

CAP 定理中最难理解的概念是 P,分区容错性,画个图大家就理解了。

微服务架构中的CAP原理是什么

在断网的情况下,2 台服务器变成了独立网络,彼此无法通信,这个情况就是分区。在分区的情况下,分布式系统如果要保证数据一致性和可用性的话,那就满足分区容错性了。

CAP 技术实现的难度,下面一一解惑

目前大部分互联网企业都是微服务架构,即分布式系统。 
现在某电商微服务架构,假设出现网络故障(P),服务挂掉(A),整个系统的数据仍然保持一致。这是无法做到的。

相对可以实现的方案: 
业界的做法是 CAP 三选其二,即

当服务之间出现网络故障的情况下:

微服务架构中的CAP原理是什么

问题:

  1. 如何保证订单服务和 PLUS 会员服务高可用?

  2. 下订单同时扣除 100 元优惠劵如何实现?


分布式系统的解决方案:

  1. CAP 牺牲一致性(AP):保证高可用,即保证订单服务可以正常访问,保证 PLUS 会员服务可以正常访问,牺牲了数据的一致性。

    小张去京东商城下订单(但是没有扣除 100 元优惠劵),这种情况下,小张订单提交成功后,再去查看 100 元优惠劵还在,居然没有扣除成功,但是实付金额是 100 元,很纳闷(心里窃喜)。

  2. CAP 牺牲可用性(CP):保证数据一致性。

    当小张去京东商城下单时,提示:“网络异常,请稍后再试”。

  3. CAP 牺牲分区容错性(CA):不要P分区,即不允许出现网络故障,这是不可能实现的。 
    所以在分布式系统中,是不存在 CA 的。即使传统单体系统也做不到CA,因为单体系统也会出现单一故障。


通过小张在京东商城下订单的案例,小伙伴应该都弄明白了吧。

下面分析两个微服务架构中常用的服务注册中心 —— zookeeper & eureka 的 CAP 原理

1)图解 zookeeper 的 CAP 原理 
注:此处不介绍 zookeeper 底层原理和实现 
zookeeper 作为微服务注册中心是 CP 原理,即保证了数据的一致性,牺牲了可用性。如下图所示:

微服务架构中的CAP原理是什么

微服务架构中的CAP原理是什么

微服务架构中的CAP原理是什么

2)图解 Eureka 的 CAP 原理 
如下图所示:

微服务架构中的CAP原理是什么

通过以上的案例描述和图形解读,相信大家对于微服务(分布式系统)架构中 CAP 原理有了一定的了解。比如知道了什么是 CAP 原理,什么是分区容错性,zookeeper 和 eureka 作为注册中心的 CAP 区别是什么。同时希望对今后你们公司的系统架构设计有所帮助,系统设计是遵循 CP 还是 AP。

以上就是微服务架构中的CAP原理是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. 微服务是什么?微服务架构又是什么?
  2. CAP原理和BASE思想是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

微服务 cap

上一篇:branch and price算法的原理解析是怎样的

下一篇:基于linux0.11操作系统定时器的原理分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》