1.问题
-
1、何为分布式何为微服务/p>
2、为什么需要分布式/p>
3、分布式核心理论基础,节点、 络、时间、顺序,一致性/p>
4、分布式是系统有哪些设计模式/p>
5、分布式有哪些类型/p>
6、如何实现分布式/p>
2.关键词
节点,时间,一致性,CAP,ACID,BASE,P2P,机器伸缩, 络变更,负载均衡,限流,鉴权,服务发现,服务编排,降级,熔断,幂等,分库分表,分片分区,自动运维,容错处理,全栈监控,故障恢复,性能调优
3.全文概要
4.基础理论
4.1SOA到MSA的进化
SOA面向服务架构
由于业务发展到一定层度后,需要对服务进行解耦,进而把一个单一的大系统按逻辑拆分成不同的子系统,通过服务接口来通讯,面向服务的设计模式,最终需要总线集成服务,而且大部分时候还共享数据库,出现单点故障的时候会导致总线层面的故障,更进一步可能会把数据库拖垮,所以才有了更加独立的设计方案的出现。
4.2节点与 络
节点
传统的节点也就是一台单体的物理机,所有的服务都揉进去包括服务和数据库;随着虚拟化的发展,单台物理机往往可以分成多台虚拟机,实现资源利用的最大化,节点的概念也变成单台虚拟机上面服务;近几年容器技术逐渐成熟后,服务已经彻底容器化,也就是节点只是轻量级的容器服务。总体来说,节点就是能提供单位服务的逻辑计算资源的集合。
络
分布式架构的根基就是 络,不管是局域 还是公 ,没有 络就无法把计算机联合在一起工作,但是 络也带来了一系列的问题。 络消息的传播有先后,消息丢失和延迟是经常发生的事情,我们定义了三种 络工作模式:
同步 络
-
节点同步执行
-
消息延迟有限
-
高效全局锁
半同步 络
-
锁范围放宽
异步 络
-
节点独立执行
-
消息延迟无上限
-
无全局锁
-
部分算法不可行
常用 络传输层有两大协议的特点简介:
TCP协议
-
首先tcp尽管其他可以更快
-
tcp解决重复和乱序问题
UDP协议
-
常量数据流
-
丢包不致命
4.3时间与顺序
时间
慢速物理时空中,时间独自在流淌着,对于串行的事务来说,很简单的就是跟着时间的脚步走就可以,先来后到的发生。而后我们发明了时钟来刻画以往发生的时间点,时钟让这个世界尽然有序。但是对于分布式世界来说,跟时间打交道着实是一件痛苦的事情。分布式世界里面,我们要协调不同节点之间的先来后到关系,但是不同节点本身承认的时间又各执己见,于是我们创造了 络时间协议(NTP)试图来解决不同节点之间的标准时间,但是NTP本身表现并不如人意,所以我们又构造除了逻辑时钟,最后改进为向量时钟:
NTP的一些缺点,无法完全满足分布式下并发任务的协调问题
-
节点间时间不同步
-
硬件时钟漂移
-
线程可能休眠
-
操作系统休眠
-
硬件休眠
向量时钟
-
t_i’ = max(t_i, t_msg_i)
原子钟
顺序
有了衡量时间的工具,解决顺序问题自然就是水到渠成了。因为整个分布式的理论基础就是如何协商不同节点的一致性问题,而顺序则是一致性理论的基本概念,所以前文我们才需要花时间介绍衡量时间的刻度和工具。
4.4一致性理论
说到一致性理论,我们必须看一张关于一致性强弱对系统建设影响的对比图:
分布式技术栈使用中间件:
更多技术交流尽在微信群:

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8588 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!