在今天,集中式部署的系统基本已经越来越少了,越多越多的公司会选择分布式部署机器。那么什么是分布式系统呢?分布式系统大致需要满足下面特性:
分布性
分布式系统中的多态机器会在空间上随意分布,同事,机器的分布情况、机器的数量也会随时变动。
举个例子:阿里巴巴的某一个服务可以部署在杭州、上海、深圳的某些机器上,每一个机房的部署情况可以有运维人员配置。
对等性
分布式系统中每台机器都是公平的,没有主/备之分。
当然,副本是分布式系统中最常见的概念,副本跟备机是不同的概念,副本指的是分布式系统对数据与服务提供的冗余方式,当某一节点上面的数据丢失的时候,可以快速访问到。
并发性
在一个分布式系统的多个节点中,经常会同时操作一些共享资源,如分布式存储系统等,如何准确并高效处理冰法也是分布式系统架构与设计中最大的挑战。
缺乏全局时钟
一个分布式系统中,进程间的交互,线程间的交互在不停地发生,有着各式各样的消息,在分布式系统中,很难定义两个事件的先后顺序,因为分布式系统缺乏一个全局时钟。
故障总会发生
在一个分布式系统中,故障时常发生,而且频率远比集中部署更高。所以在系统设计之时就要充分考虑更重故障。