【java八股文】之MYSQL基础篇-CSDN博客
【java八股文】之JVM基础篇-CSDN博客
【java八股文】之Redis基础篇-CSDN博客
【java八股文】之Spring系列篇-CSDN博客
【java八股文】之分布式系列篇-CSDN博客
【java八股文】之Java基础篇-CSDN博客
【java八股文】之多线程篇-CSDN博客
1、什么是CAP BASE理论
1.1 CAP
- 一致性: 在分布式环境下,一致性是指数据在多个副本之间是否能够保持一致性的特性,等同于所有的节点访问同一份最新数据的副本。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证数据仍然一致性的状态。
- 可用性:每次请求都能够保证正确的响应,但是不保证获取的数据为最新的数据。
- 分区容错性:分布式情况下在遇到任何的网络分区额故障的时候,仍然需要能够保证对外提供一致性和可用性的服务,除非是整个网络环境发生了故障。
1.2 BASE
- 基本可用:在分布式系统出现故障,允许损失部分的可用性(服务降级、页面降级)
- 软可用:允许分布式出现中间状态。而且中间状态不影响系统的可用性。这里的中间状态指的是data replication(数据备份节点)之间的数据更新可以出现延迟的最终一致性。
- 最终一致性:data replications 经过一段时间达到一致性。
2、重点协议CP(ZAB RAFT) AP( Distro)
2.1 强一致性
1、任意时刻,所有的节点数据都是一样的。
2、一个集群需要对外部提供强一致性,所以只要集群内部的某一个数据发生了改变,那么就需要等待集群内其他服务器的数据同步完成后,才能对外部提供访问。
3、保证了强一致性,务必会损耗可用性
2.2 弱一致性
1、系统中的某个数据被更新后,后续对该数据的读取操作可能会得到更新后的数值,也可能会得到更新前的数值
2、即使过来一段时间窗口,后续的读取也不能保证一致性
2.3 最终一致性
1、弱一致性的特殊形式,不保证在任意时刻节点上的同一份数据是相同的,但是随着时间的迁移,不同节点的同一份数据总是在趋向一致性变化
2、存储系统保证在没有新的更新的条件下,最终所有的访问都是最后更新的值文章来源:https://www.toymoban.com/news/detail-798195.html
2.4 顺序一致性
1、任意一次读都能读到某个数据的最近一次写的数据
2、对其他节点之前的修改是可见的(已同步)且确定的,并且新的写入建立在已经达到同步的基础上文章来源地址https://www.toymoban.com/news/detail-798195.html
到了这里,关于【java八股文】之分布式系列篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!