一,分布式架构与理论
一,分布式架构与理论
1.1,什么是分布式系统
分布式系统是硬软件分布在不同网络计算机上,彼此通过消息传递进行通信协调的系统
把一个大的业务拆成多个可以独立部署和实现功能的子模块,分布在不同服务器节点,共同构成的系统
1.2,分布式和集群的区别
集群->多个服务做同一件事
分布式->多个服务做不同的事
1.3,分布式系统特性
分布性->可以分布在不同空间(物理)
对等性->计算机服务节点没有主从之分
并发性->分布式系统的多个节点,可能并发地操作资源(数据库等)
缺乏全局时钟->由于处于不同机器,而且是远程通信,事件执行的先后顺序难以确认
故障容易发生->机器越多,越有可能发生局部的故障
单点故障->如果某个功能/角色只有一台计算机支撑,则它出现的故障就是单点故障
1.4,分布式系统面临的问题
1,通信异常
网络本身可能异常,则会出现分布式系统无法完成一次网络通信的情况,
而且,远程通信也有延迟,综上,分布式系统很容易出现消息丢失和延迟
2,网络分区
部分网络不连通,但是子网络内部的网络通信正常,导致网络环境分成了不同的区域,出现局部小集群,
此时需要这些小集群完成服务,对分布式一致性提出巨大挑战
3,节点故障
组成微服务的服务器节点宕机或僵死
4,三态,重发
三态->分布式系统每次请求响应都有成功/失败/超时三种状态
重发->超时/失败的情况就需要重新发起调用
5,幂等
多次请求某个资源,对资源本身都是产生和一次调用相同的结果