首页 > 技术文章 > 1.1 从集中式到分布式

fubaizhaizhuren 2016-05-09 12:05 原文

1、集中式
    集中式系统就是指,一台或多台机算机组成中心节点,数据集中存储于这个中心节点,并且系统中所有业务单元都部署在这个中心节点上
,系统所有的功能均由其集中处理。即,在集中式系统中,每个终端或客户端仅负责数据的录入,而数据的存储与控制处理由中心节点控制。

2、分布式
    分布式系统指的是,一个硬件或软件组件分布在不同的网络机算机上,彼此之间仅仅通过消息传递,进行通信和协调的系统。
    
    分布式特点:
    (1) 分布性
            分布式系统中的多台机算机,会在空间上任意分布。机器分布情况也会随时变动。
    
    (2) 对等性
            分布式系统中的计算机没有主从之分,所有机算机节点都是对等的。副本(Replica)是分布式系统中最常见的概念之一,指的是分布式
        系统对数据和服务提供冗余的一种方式。
            数据副本是指,在不同节点持久化同一份数据,当某一节点存储的数据丢失的时候,可以从副本读到该数据,这是解决分布式数据丢失
        最有效的手段。
            另一种副本是指服务副本,多个节点提供同样的服务,每个节点都有能力接收并处理外部的请求。
    
    (3)并发性
            如何准确高效地协调分布式系统中的并发操作,是一个挑战
    
    (4) 缺乏全局时钟
            
    (5) 故障总是会发生
            任何在设计时考虑到的异常情况,一定会在程序运行时发生。所以,除非需求指标允许,一定不能放过任何异常。
            
3、分布式的各种问题

    (1) 通信异常
        分布式系统,需要在各个节点之间进行网络通信,在通信过程中会遇到两种通信异常
            一种就是,网络不可用
            另一种是,网络延时。单机访问延时在纳秒数量级(通常是10ns左右),而正常的一次网络通信延时在0.1~1ms(即100~1000ns)左右,相当于
        单机访问延时的100位左右,如此巨大的延时可能会景响消息的发送和接收,从而导致消息丢失。
        
    (2) 网络延时,最终可能会导致一部分节点不能用,这个现象称为网络分区,当网络分区出现时,分布式系统会出现小集群,这些小集群会完成原本由
    整个分布式系统完成的任务,包括对数据的分区处理。这就对分布式数据一致性提出了非常大的挑战。
    
    (3) 三态
        分布式系统会出现通信异常,出现异常的时候,会导致发送或接收消息出现三态,成功、超时、异常。
        
    (4) 节点故障
        节点机器宕机或假死或其它故障。

 

推荐阅读