**1.分布式系统概念**
分布式系统是一个硬件或者软件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。
通俗的点说。就是一个任务分成多个子任务,这些子任务部署在不同的服务器节点,共同构成的系统就叫分布式系统。同一个分布式系统的服务及节点在空间上的部署可以是任意的。可以是不同机柜,不同机房,不同的城市中
Tips:分布式和集群的区别
集群:同一个服务拷贝部署在多个子节点(多个人在完成同一件事)
分布式:一个系统拆分成多个不同服务部署在不同的服务节点上(多个人在完成不同的事情)
分布式系统的特点:
1.分布性
2.对等性
3.缺乏全局时钟
4.并发性
5.故障总是会发生
2.分布式系统面临的问题
1.通信异常
网络本身的不可靠性。会导致最终分布式系统无法顺利进行一次网络通信
2.网络分区
网路之间出现了网络不连通,但各个子网络的内部网络是正常的,从而导致整个系统的网络环境被切分成了若干个孤立的区域,**分布式系统就会出现局部小集群**
在极端情况下,这些小集群会独立完成原本需要整个分布式系统才能完成的功能,包括数据的事务处理,这就对分布式一致性提出非常大的挑战。
3.节点故障
节点故障是分布式系统下比较常见的问题,每个节点都可能发生故障,并且经常发生。
4.三态
分布式系统每一次请求与响应存在特有的“三态”概念,即“成功、失败、超时”
分布式系统中,由于网络的不可靠性,虽然大部分情况下,网络通信能够接收到成功或者失败的响应。
但当网络出现异常的情况下,就会出现通信超时的情况,主要有以下两种:
1.由于网络原因,该请求没有成功发送到接收方,发送过程中出现了丢失的情况
2.请求被接收方成功接收后,并进行了处理,但在给发送方发送响应的过程中出现了消息丢失现象