1.1 从集中式到分布式
1、集中式 集中式系统就是指,一台或多台机算机组成中心节点,数据集中存储于这个中心节点,并且系统中所有业务单元都部署在这个中心节点上 ,系统所有的功能均由其集中处理。即,在集中式系统中,每个终端或客户端仅负责数据的录入,而数据的存储与控制处理由中心节点控制。 2、分布式 分布式系统指的是,一个硬件或软件组件分布在不同的网络机算机上,彼此之间仅仅通过消息传递,进行通信和协调的系统。 分布式特点: (1) 分布性 分布式系统中的多台机算机,会在空间上任意分布。机器分布情况也会随时变动。 (2) 对等性 分布式系统中的计算机没有主从之分,所有机算机节点都是对等的。副本(Replica)是分布式系统中最常见的概念之一,指的是分布式 系统对数据和服务提供冗余的一种方式。 数据副本是指,在不同节点持久化同一份数据,当某一节点存储的数据丢失的时候,可以从副本读到该数据,这是解决分布式数据丢失 最有效的手段。 另一种副本是指服务副本,多个节点提供同样的服务,每个节点都有能力接收并处理外部的请求。 (3)并发性 如何准确高效地协调分布式系统中的并发操作,是一个挑战 (4) 缺乏全局时钟 (5) 故障总是会发生 任何在设计时考虑到的异常情况,一定会在程序运行时发生。所以,除非需求指标允许,一定不能放过任何异常。 3、分布式的各种问题 (1) 通信异常 分布式系统,需要在各个节点之间进行网络通信,在通信过程中会遇到两种通信异常 一种就是,网络不可用 另一种是,网络延时。单机访问延时在纳秒数量级(通常是10ns左右),而正常的一次网络通信延时在0.1~1ms(即100~1000ns)左右,相当于 单机访问延时的100位左右,如此巨大的延时可能会景响消息的发送和接收,从而导致消息丢失。 (2) 网络延时,最终可能会导致一部分节点不能用,这个现象称为网络分区,当网络分区出现时,分布式系统会出现小集群,这些小集群会完成原本由 整个分布式系统完成的任务,包括对数据的分区处理。这就对分布式数据一致性提出了非常大的挑战。 (3) 三态 分布式系统会出现通信异常,出现异常的时候,会导致发送或接收消息出现三态,成功、超时、异常。 (4) 节点故障 节点机器宕机或假死或其它故障。