分布式和集群的区别?
分布式系统要面临的挑战:
1.通信异常
网络延迟,网络异常,不可靠的网络服务
一般内存访问为10ns所有,而网络一般在1-10ms左右。
2.网络分区
部分节点无法和其余节点通信,形成了一个单独的小系统,俗称“脑裂”
3.三态
传统的进程内方法调用只有两种结果
1.成功
2.失败
但因为分布式系统依赖网络进行远程方法调用,所以,具有额外的一种状态-超时
超时有两个原因:
1.发送方发出请求,此请求在网络传输过程中超时--请求超时
2.发送方发出请求,服务方处理完成后,反馈处理结果,此处理结果在传送过程中,发生超时--响应超时
4.节点故障
非常普遍的情况,断电,磁盘故障,内存故障,CPU故障,网卡故障等等。。。
接触分布式系统,分布式事务等等,分布式方面的技术,必须理解以上4点特性,因为分布式系统需要克服以上4点困难,所以,大部分框架,解决方案,都围绕4点来进行自身特性的开发。