《从Paxos到ZooKeeper》读书笔记之第一章(一)
开始读《从Paxos到ZooKeeper》这本书,以了解和使用ZooKeeper,这里会记录一些随笔画下来的自以为的重点、自己理解和代码块。
第一章 分布式结构
1.1 从集中式到分布式
定义:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅通过消息进行通信和协调的系统
特征:一个标准的分布式系统在没有任何特定业务逻辑约束的情况下,都会有如下特征
1.分布性:空间上随意分布,分布情况也会随时变动
2.对等性:
1)分布式系统中的计算机没有主从之分,所有计算机节点都是对等的
2)副本是分布式系统最常见的概念之一,指的是对数据和服务提供的一种冗余方式。数据副本是指在不同的节点上持久化同一份数据;服务副本指多个节点提供同样的服务。
3.并发性:如同一个分布式系统中的多个节点,可能会并发的操作一些共享的资源。
4.缺乏全局时钟:由于分布式系统是由一系列在空间上随意分布的多个进程组成,使得分布式系统缺乏一个全局的时钟序列控制
5.故障总会发生:因此在系统设计时不能放过任何异常情况。
分布式环境的各种问题
1.通信异常:网络本身的不可靠性和网络通信远大于单机操作的延时
2.网络分区:俗称“脑裂”。
a)网络异常导致只有部分节点之间能够进行正常通信
b)网络分区出现的时候,极端情况下出现局部小集群。即:局部小集群会独立完成原本需要整个分布式系统才能完成的功能。这就对分布式一致性提出了巨大挑战
3.三态:成功、失败、超时(1请求未发送到;2响应反馈未接收到)
4.节点故障:指的是组成分布式系统的服务器节点出现宕机或僵死现象。