1. 分布式
1.1 分布式是什么
分布式系统在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”。
分布式系统是建立在网络之上的软件系统,是一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。
分布式系统总结来说是将数据存储能力和计算能力分布到不同的服务器上,作为一个整体对外服务。
1.2 什么情况用分布式
当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(提升CPU、加内存、加硬盘等)高昂到一定程度,且应用程序也不能进一步优化的时候,我们考虑使用分布式系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。
因此,分布式系统要解决的问题本身和单机系统是一样的,而由于分布式系统多节点、通过网络通信的拓扑结构,会引入很多单机系统没有的问题,为了解决这些问题又会引入更多的机制、协议,带来更多的问题。
1.3 分布式架构
分布式采用集群部署,通过计算机之间的相互协作处理复杂任务。
分布式系统通过网络协议来通信,所以在空间上没有任何限制,分布式服务器可以部署在不同的地区。
分布式是指一个业务拆成多个子业务,部署在不同的服务器上,而集群是指同一个业务,部署在多个服务器上。分布式的每一个节点,都可以做集群。
1.4 分布式优点
-
系统可用性提升
传统的集中式计算或集中式存储