既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
在这一个版本中的(共享数据的互连节点的集合)证实了我第一个疑问,至于为什么说分布式系统,我觉得应该是集群属于分布式系统中的一个场景。
至于第二个疑问其实还是场景问题,如果在没有网络分区的情况下,C,A是可以同时满足的,如果出现了网络分区,C,A确实不可以同时满足,举个例子:如果来了一个写操作,如果要满足一致性,意味着这几个节点的数据要一致后,数据才能被访问,但是出现了网络分区,就会等待网络恢复或重试或者其他操作,必然满足不了可用性的要求(在一定时间内可以得到正确的响应)。反过来,如果要在一定时间内得到正确响应,在网络分区的情况下,一致性必然也满足不了了。
所以CAP理论是有前提和场景的,总结一下应该是这样的:分布式系统中存在共享数据的互连节点,在网络分区的前提下,不能保证同时保证可用性和一致性。
CAP理论的应用
现在再说 Zookeeper 是 CP 架构、Eureka 是 AP 架构 应该就不难理解了。
这两个组件都符合 CAP 中的(共享数据的互连节点的集合),Zookeeper 集群是 Leader 在写数据时需要过半节点同意才会写入,客户端才会读取到这个值,所以说 Zookeeper 是 CP 架构;Eureka 集群是不论哪个节点在写数据时都会立即刷新本地数据然后再同步给其他节点,客户端这个时候读取不同节点时就会发现数据不一致,所以 Eureka 是 AP 架构。
BASE理论
BASE是Basically Available(基本可用)、Soft state(软状态)和 Eventually consistent(最终一致性)三个短语的缩写。
- 基本可用
基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性,不像 CAP 中的定义那样严格(在一定时间内可以得到正确的响应)。比如:- 响应时间上的损失。正常情况下,0.5秒之内返回给用户结果,但由于出现故障,会有重试等操作,3秒内返回也是接受的。
- 系统功能上的损失:正常情况下,用户可以顺利完成每一笔订单,但是在一些节日大促购物高峰的时候,为了保护系统的稳定性,部分用户可能会被引导到一个降级页面。
- 软状态
软状态指允许系统中的数据存在中间状态,这种中间状态的存