栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

分布式理论

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分布式理论

一、一致性

基于集群角度来考虑,如果集群中同步慢,会有多种情况

1、强一致性:集群中的两个节点数据必须一致

例如:从A节点新增一条数据后,我从B节点必须能够读到此数据,才算满足强一致性。通常使用分布式锁达到强一致性。

2、弱一致性:集群中的两个节点数据可以不一致

相当于不需要一致性。

3、最终一致性:

通常遇到的都是最终一致性。

例如:从A节点新增一条数据后,我从B节点暂时没有读取到,稍后我读取到了,这就算满足了最终一致性。

包括mysql中的主从同步。

二、CAP理论

在设计和部署分布式系统时,存在三个明显的需求:

  1. C(Consistency)一致性。即分布式数据应该同步,保存一致。
  2. A(Availability)可用性。指系统能够很好的为用户提供服务,主要体现在用户访问之后能很
  3. 快的得到响应。
  4. P(Oartition Tolerance)分区容错性。若在系统运行过程中,有部分主机宕机,依然不会影响整个系统的运行。

CAP理论认为在一个系统中对某个数据不存在一个算法同时满足一致性,可用性,分区容错性。往往需要牺牲某一项来满足其他两项。

  • 满足CA的例子:MySQL
  • 满足CP的例子:Zookeeper
  • 满足AP的例子:Eureka

由于CAP定理限制了我们三者无法同时满足,这种情况,我们会选择尽量靠近CAP定理,即尽量让C、A、P都满足,在此大势所趋下,出现了BASE定理。

三、BASE理论
  1. Basically, Available(基本可用),支持分区失败。也就是说,在一定程度上牺牲了可扩展性。例如:响应时间变慢,限流,降级等
  2. Soft State(软状态),状态可以有一段时间不同步,异步同步。(允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性)
  3. Eventually Consistent(最终一致)。保证数据在最终是一致的,而无需保证实时数据一致。通常用mq来实现

BASE理论的核心思想:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的放松来使系统达到最终一致性

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988485.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号