开篇词 | 四纵四横,带你透彻理解分布式技术
谁更好掌握了分布式技术,谁就更容易在新一轮技术浪潮中获得主动。
很多有多年工作经验的人,在分布式上面,也可能会有下面的问题:
- 各种分布式概念、名词学了一大堆,但经常张冠李戴,傻傻分不清楚。
- 做了多年技术,也参与了很多分布式技术实践,却无法回答工作中各种分布式技术、组件、框架选型背后的根源。
- 在一个分布式技术配套的典型场景往往能驾轻就熟,但一旦稍微变更考察业务场景、业务目标后,就变得好无头绪。
我们在学习中不要完全依赖于碎片化信息,这样不能体系化的理解我们要学习的知识,更不用说去综合运用了。
针对整个分布式体系,我们可以从下往上,将其分为4部分:
- 分布式资源池化,解决资源的分布式和异构性问题。
- 分布式通信,解决进程之间的分布式通信问题。
- 分布式数据存储与管理,解决数据的分布式和多元化问题。
- 分布式计算,解决应用的分布式计算问题。
在上面4部分中,都会涉及到下面4方面的问题:
- 分布式协同,解决分布式状态和数据的一致性问题。
- 分布式调度,解决资源与请求的匹配问题。
- 分布式追踪与高可用,解决分布式定位、可靠性的问题。
- 分布式部署,解决服务分布式部署问题。
这样,我们可以得出关于分布式的四纵四横知识体系图,如下所示。
上图中,我们自底向上按照资源、通信、数据与计算的维度,梳理出4个技术层次:分布式资源池化、分布式通信、分布式数据存储与管理、分布式计算。这样划分也符合业务架构的一般规律,即“在一定资源上,进行一定通信,通过一定计算,完成一定数据的加工和处理,从而对外提供特定的服务”。
关于横向的4个技术层次,无论是资源、通信、数据还是计算,都需要解决协同、调度、追踪高可用以及部署问题。