分布式系统入门
分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅是通过消息传递进行通信和协调的系统。 首先分布式系统一定是由多个节点组成的系统,一般来说一个节点就是我们的一台计算机;然后这些节点不是孤立的,而是相互连通的;最后,这些连通的节点上部署了我们的组件,并且互相之间的操作会有协同。 升级单机处理能力的性价比越来越低。 大型主机的人才培养成本非常之高,大型主机操作非常复杂,对运维人员的要求非常高。 大型主机非常昂贵。通常一台配置比较好的IBM大型主机,其售价在上百万美元甚至更高。 根据摩尔定律,在一个确定的时间点,通过更换硬件做垂直拓展的方式来提升性能会越来越不划算。 单机处理能力存在瓶颈。 在某个固定的时间点,单颗处理器有自己的性能瓶颈,也就是说即使你愿意话更多的钱去买计算能力也买不到了。 出于稳定性和可用性的考虑。 集中式的系统具有明显的单点问题。大型主机虽然在性能和稳定性方面表现卓越,但是一旦出现了故障,那么整个系统都将处于不可用状态,其后果相当严重。 缺乏全局时钟:分布式系统是由多个节点组成,通过多个进程之间的交换消息来进行通信。由于每个节点都拥有自己单独的时钟,没有一个全局的时钟,所以很难定义两个事件的先后顺序。对于这种情况,我们可以把这个工作交给一个单独的集群来完成,通过这个集群来区分多个动作的顺序。 面对故障独立性:在分布式系统中