美文网首页
关于分布式微服务下CAP理论的理解

关于分布式微服务下CAP理论的理解

作者: TinyThing | 来源:发表于2020-11-23 13:01 被阅读0次

0x0 前言

之前看过很多关于CAP的文章,一直很懵逼,今天谈谈我在项目中遇到的问题以及对于CAP的理解

0x1 什么是CAP

image

1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。

  • Consistency
  • Availability
  • Partition tolerance

它们的第一个字母分别是 C、A、P。

Eric Brewer 说,这三个指标不可能同时做到。这个结论就叫做 CAP 定理。

0x2 工作中遇到的分布式问题

在去年项目微服务化时,遇到一个问题:
各个微服务组件虽然在业务上尽力解耦,但是仍然有部分数据是公共的,例如:人员信息,区域组织信息,设备信息等。
这些基础信息如何处理呢?有两种方案:

  1. 使用时通过rest调用查询到本地;
  2. 直接在本地也保存一份副本;

使用第一种方案,显然效率是一个大问题,而且该方案有个严重的问题是:当某个基础服务挂掉或和其他服务连接出现问题时,其他服务都无法继续提供服务,即不满足分区容错(Partition tolerance)
若使用第二种方案,那么每个服务不会受到其他服务挂掉或者与其他服务网络不通的影响(因为本地有业务所需的全部数据),但是引入了另一个问题:各个服务数据可能存在不一致(Consistency)
这时,我们需要看是否要保障数各个微服务据一致性,若需要保障一致性,那么每次基础数据服务在接收到变更、删除、增加请求时,都要对其他微服务也进行相应的更新,此时引入了一个新的问题:如果有一个服务挂掉,则本次用户的变更请求就会失败,不满足可用性(Availability)

最终,决定使用mq通知的形式:当基础数据变更后,发送MQ通知到Topic,各个微服务监听topic来修改本地存储的相应数据。这个方案虽然不能保证强一致性,但是数据最终是一致的。

相关文章

  • 关于分布式微服务下CAP理论的理解

    0x0 前言 之前看过很多关于CAP的文章,一直很懵逼,今天谈谈我在项目中遇到的问题以及对于CAP的理解 0x1 ...

  • 通过NAS对分布式系统CAP理论的理解

    通过NAS对分布式系统CAP理论的理解 CAP原则又称CAP定理,指的是在一个分布式系统中:Consistency...

  • 分布式事务解决方案-什么是CAP理论

    业界对解决分布式事务的方法总结了一套理论,叫CAP理论,学习CAP理论指导我们确定解决分布式事务的目标。 1 理解...

  • CAP理论

    CAP分布式理论 2002年CAP理论正式成为分布式计算领域的公认定理 CAP指一致性(Consisitency)...

  • 分布式事务原理与解决方案实战

    分布式事务: 1 CAP 定理 1.1 概念 CAP 理论在分布式系统中 一致性:分布式环境下多个节点的数据是否强...

  • ZooKeeper(六)-- CAP和BASE理论、ZAB协议

    一、CAP理论和BASE理论 1.CAP理论 CAP理论,指的是在一个分布式系统中,不可能同时满足Consiste...

  • 分布式系统-CAP理论

    CAP基本概念 CAP理论作为分布式系统的基石,应该是每个入门分布式系统的人都应该学习的内容。 CAP理论是200...

  • 分布式相关问题

    1、请解释下cap理论? cap指的是分布式系统中的一致性(Consistency)、可用性(Availabili...

  • 谈谈CAP理论

    CAP理论是分布式计算领域公认的一个定理。也是深深影响着分布式发展的一个经典理论。 CAP理论告诉我们:一个分布式...

  • 分布式事务解决方案

    1 如何进行分布式事务控制? CAP理论是分布式事务处理的理论基础,了解了CAP理论有助于我们研究分布式事务的处理...

网友评论

      本文标题:关于分布式微服务下CAP理论的理解

      本文链接:https://www.haomeiwen.com/subject/ozgmiktx.html