什么是分布式体系

界说: 分布式体系是一个其组件分布在不同的、联网的计算机上,组件之间经过传递音讯进行通讯和和谐,共同完成一个使命的体系。

特色:

  1. 多节点:分布式体系一般由多个节点组成,它们能够位于不同的物理位置。
  2. 通讯:节点之间能够经过网络进行通讯,能够传输数据或许和谐工作。
  3. 多进程:分布式体系中有多个进程并发运行。
  4. 不同享操作体系和时钟。

这些特色也给分布式体系带来了一些应战,这些应战是差异于单机体系的。

为什么要有分布式体系

在了解为什么要有分布式体系前,咱们能够先做一些衬托。

首要,来看看什么叫摩尔定律

摩尔定律是指:当价格不变时,集成电路上能够容纳的元器材的数目,约每隔18至24个月就会添加一倍,功用也会提升一倍。

假如这个定律永久都建立的话,咱们机器的功用将无止境的提升,也便是CPU、硬盘等器材的功用会一直成指数上升,那么也就没有分布式体系什么事情了。

遗憾的是,摩尔定律失效了,hhh。。。受咱们半导体工艺的限制,芯片在有限的空间下的功用已经基本上发展到极限了。

所以现代CPU将多个CPU ”拼在一起“ 以获得更高的功用,这便是多核CPU架构。但是多核CPU架构依然存在物理限制,且成本会敏捷上升,很多公司难以承受大型机昂扬的成本。所以,以Google为代表的互联网企业按照多核CPU架构的思路,挑选将多台廉价的计算机结合起来,组成一个具有很多的CPU、内存和磁盘的分布式体系,这么做同样能够实现对高功用的需求。 —-《深入了解分布式体系》

衬托完毕, 总结来说便是摩尔定律失效了,所以单机体系的功用是有瓶颈的,而处于互联网时代的体系中的数据和流量都在爆炸性的添加,这就产生了对立了,分布式体系也就诞生了。

分布式体系长处

首要,需求说明的是,这里的长处是较单机体系来比较着说的,指不定啥时候出现了愈加牛逼的体系,这些长处或许就微不足道了。

  1. 高功用: 显而易见,分布式体系能够经过并行处理和负载均衡提高体系整体的功用和吞吐量。
  2. 高扩展性: 分布式体系能够经过添加新的节点来扩展体系的容量和功用,来习惯不断添加的要求。而单机体系只能扩展到有限的程度。
  3. 高可用性: 分布式体系能够经过冗余多份数据或许冗余计算得到容错和主动康复的功用,现在很多大公司的服务都要求可用性抵达99.999%,也便是一年之内最多答应宕机5分钟。(想到前段时间阿里云和滴滴的事故,这一次就把多少年的宕机时限用掉了,狗头)
  4. 地理分布: 分布式体系能够将不同的节点放在不同的地理位置,这样能够进一步添加容错性,也能够让不同地理位置的用户都能得到较好的服务质量(用户离服务器越近,延时就会越小)。

分布式体系的应战

  1. 网络延时问题: 这应该是分布式体系面对的最大的应战,前面也说到,分布式体系中的各个节点是依托网络来进行通讯的,而网络的不可靠性或许会导致以下问题:
  • 音讯丢失
  • 咱们认为请求丢失了,但是其实它只是延迟抵达了罢了
  • 网络或许会重传音讯,导致收到重复的音讯
  • 音讯延迟或许会让咱们认为某个服务已经因为毛病下线,但是实际上并没有。
  • 音讯或许以不同的次序抵达,或许不同节点上音讯抵达的次序不同。
  1. 部分失效问题: 也能够叫一致性问题,这种问题是因为体系中或许有一部分节点未能正常运行,导致无法正确的协同工作,所以分布式体系下使命执行的原子性要得到保障是一个极大的应战。