点对点系统
学习分布式系统设计最好的例子就是TCP/IP协议,特别是其关于流量和拥塞控制的那部分简直就是经典。这部分内容实现了在系统中的单个节点无法预知系统全局状态的情况下,让节点自适应系统整体状态的方法。
节点感知系统整体状态的主要思想就是反馈。因为节点加入系统后就不再是独立的自己,而是系统中的节点,与其他节点发生关系,所以节点和节点之间的通信是必不可少的。既然存在信息的交流,那就要充分利用这些信息进行节点的自我调整。使自己处在动态的变化之中,和系统中相依赖的其他节点构成共生关系。
流量控制
点对点的信息不透明导致,所以通信双方要相互坦白,进行兜底的沟通方式,别把双方自己都给搞没了。
拥塞控制
点无法把握面的全局信息,每个点只能够尽自己最大的可能进行自我调节,根据全局反馈的信息进行自适应调节,所以调节的效果一般都慢半拍。
中心化系统
一般公司自己架构的微服务体系都是中心化的,并不是像TCP/IP协议那样面向的是完全的点对点系统。所以在节点设计这块并不像点对点系统那样强调自适应性,更多的是通过控制中心整体调节的,一般担任这个角色的服务都是网关。