理解CAP理论和BASE理论前言一、CAP理论总结BASE理论总结

前言阐述了对分布式项目中CAP理论和BASE理论的理解

一、CAP理论CAP理论作为分布式系统的基础理论,他阐述了分布式系统具有以下三个特性:

一致性) )。

可用性(可用性)

分区容差((分区容差) ) ) ) ) ) ) )。

最多只能满足两个特性

三个特性分别是什么

一致性:分布式系统完成特定写入操作后,任何操作都必须获取写入肥皂的最新值。 每个节点都应该保持一致性

可用性:读写始终正常进行。 客户端不会超时、操作失败或显示其他异常画面。 始终得到服务端的响应,可以正常访问系统

分区容错—如果作为分布式系统的节点或网络分区出现故障,则整个系统可以对外提供满足可用性和一致性的服务。 也就是说,设计分布式系统时不考虑使用,实际上考虑到各种不可抗力故障(如错误、硬件和网络)。 因此,即使某些节点出现错误,也不会影响全局使用

总结CAP如何取舍:

CA :优先确保一致性和可用性,放弃分区容错。 这意味着放弃了系统的可扩展性,系统不再分散,有违背设计原理的初衷

CP :优先保证一致性和分区容错性,放弃可用性。 例如,如果要求数据完整性,如zookeeper,Hbase,则通常使用。 出现网络故障或消息丢失会牺牲用户体验,并在系统恢复后允许用户访问

美联社:优先保证可用性和分区容错,放弃一致性。 NoSQL的Cassandra就是这种体系结构。 和CP一样,放弃一致性并不意味着不能保证一致性,而是逐渐变得一致

BASE理论BASE是CAP一致性与可用性权衡的结果,来源于大规模互联网分布式系统实践的总结,是基于CAP规律逐步演化而来的,其核心思想:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来达到最终一致性

BASE理论介绍

http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /什么是基本上可以使用的? 什么是完全正常的系统(如果系统中的某些功能出现意外故障,但仍然可用)

4. 5 .响应时间损失

通常,搜索引擎可以在0.5秒内将结果返回给用户,而基本上可用的搜索引擎可以在2s内将结果返回给用户

6 .功能损失

在某些情况下,为了保护系统的稳定性,一些用户可能会启动到降级页面

软状态软状态是什么? 对于原子性,要求多个节点的数据复制一致。 这是“硬状态”

软状态是指基本可用(Basically Available)

最终,一致的软状态并不总是软状态,需要一定的时间限制,并且在经过一段时间后,所有数据都必须保持一致。 此期间与多个方面不同,包括网络延迟、系统负载和数据复制计划的设计

在实际工程实践中,最终一致性分为五类。

因果关系的一致

如果a和b连接,则节点a进行了数据的更新后,b节点对数据的访问将基于a节点更新后的值;但同时,如果c和a没有连接,则c节点的数据访问被写入而没有这种限制

节点a更新数据时,访问的始终是自己更新的最新值,而不会看到旧值。 会话一致性

会话一致性将系统访问数据的过程阻止到单个会话中,并确保系统在同一有效会话中具有“已写入”一致性。 这意味着,在执行更新操作后,客户端可以在同一会话中始终访问和保持数据的最新值的一致性

一旦节点从系统中获得数据项的值,系统就不应该为随后对该节点的数据访问返回旧值的单调写入完整性

一个系统需要保证的是,同一节点的写入操作依次执行。 BASE理论面向大规模、高可用性、可扩展的分布式系统。 关于ACID的传统特性,与ACID强大的一致性模型不同,BASE通过牺牲强大的一致性来获得可用性,允许数据不一致性持续一段时间,最终达到一致状态。

此外,在实际的分布式方案中,ACID和BASE理论经常结合使用,因为业务对数据一致性的要求不同