zookeeper学习前沿--分布式系统

集中式到分布式

在大型主机时代,凭借超强的计算和I/O处理能力以及爱稳定性和安全性方面的卓越表现,集中式的计算机系统架构成为主流。但是,随着20世纪80年代以来,计算机系统向网络化和微型化的发展日趋明显,传统的集中式处理模式越来越不能适应人们的需求。

  • 大型主机汇集了大量精密的计算机组件,操作复杂,对人才培养成本非常之高
  • 大型主机非常昂贵,一般企业没有能力采购大型主机
  • 集中式系统具有明显的单点问题,虽然稳定性卓越,但是万一发生的故障,整个系统将处于不可用状态

    由于PC机性能的不断提升和网络技术的快速普及,大型主机的市场份额变得越来越小,很多企业放弃原来的大型主机,改用小型机和普通PC服务器来搭建分布式的计算机系统。

分布式特点

在《分布式系统概念与设计》一书中,分布式系统定义:

分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统

一般来说,一个标准的分布式系统在没有任何特定业务逻辑约束的情况下,有一下特征

  • 分布性

    分布式系统中的多台计算机都会在空间上随意分布,同时,机器的分布情况也会随时变动。
  • 对等性

    分布式系统中的计算机没有主/从之分,系统中每个计算机节点都是对等的。副本(Replica)是分布式系统最常见的概念之一,为了提供高可用服务,对数据和服务提供一种冗余方式。当某个节点数据丢失时,可以重副本中读取该数据。
  • 并发性

    同一分布式系统中的多个节点,可能会并发地操作一些共享的资源,诸如数据库或者分布式存储等。
  • 缺乏全局时钟

    分布式系统是由一系列在空间上随意分布的对个进程组成的,这些进程之间通过交换信息来进行互相通信。因此,很难定义两个事件的先后顺序。
  • 故障总会发生

    组成分布式系统的所有计算机,都有可能发生任何形式故障。一个被大量工程实践所检验过的黄金定理是:任何在设计阶段考虑的异常情况,一定会在系统实际运行中发生。

分布式环境问题

通信异常

分布式系统的节点是靠网络通信传输信息的,因此每次网络通信都会伴随着网络不可用的风险,网络光纤、路由器或是DNS等硬件设备或者系统不可用都会导致分布式系统无法顺利完成通信。

网络分区

由于通信可能的异常,但节点之间的网络异常不断增大,最终导致分布式系统中只有部分节点才能正常通信,而其他的则不能——这个现象称为网络分区。当网络分区出现时,分布式系统会出现局部小集群,在极端情况下,要求这局部小集群完成原本整个系统才能完成的工作,这对分布式一致性和可用性提出了非常大的挑战。

三态

分布式系统是利用网络通信来交流的,每一次请求与响应,存在特有的“三态”概念:成功、失败与超时。在传统的集中式系统中,应用程序在调用一个函数之后,能够得到一个非常明确的响应:成功或者失败。但是分布式系统中,由于网络的不可靠性,会出现超时现象,这种超时有可能是请求方在发送到接收方途中,消息丢失,也有可能是接收方响应发送方时,发生消息丢失。

节点故障

这是分布式环境中比较常见的问题,分布式系统一般用小型机或者PC机做位服务器节点,稳定性没有那么高,会出现宕机或者“僵死”现象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值