开篇词 Service Mesh,传统微服务架构新的里程碑
# 为什么要学习 Service Mesh
近年来,微服务在业内的实践已经从流行走向成熟。微服务架构使应用程序更易于扩展、更快开发,从而加速创新并缩短新功能的上市时间。与单体应用相比,微服务能够更好地满足互联网时代业务快速变化的需要。
但是与其他现存的架构和解决方案一样,微服务架构也不是银弹,尽管它解决了单体服务的很多问题,却也带来了负载均衡、服务治理、服务注册发现、如何拆分服务等问题。
Service Mesh (服务网格)是一个用于处理服务和服务之间通信的基础设施层,它最重要的变革,就是引入了数据面和控制面的概念:通过 sidecar 模式将原本在 SDK 中的代码独立出来,用控制面代替配置中心的部分功能,以透明代理的形式提供安全、快速、可靠的服务间通信,同时也能实现微服务所需的基本组件功能。
实际上,Service Mesh 需要的基础组件和传统的微服务并没有太大的差别,很多公司选择自研控制面的原因,很多就是出于兼容老的微服务的基础组件的考虑,你可以把 Service Mesh 看作是分布式的微服务代理。
Service Mesh 技术越来越火热,受到越来越多开发者的关注。而Service Mesh 这个架构之所以这么迅速地被各大公司实施落地,正是切中了传统微服务架构中诸如升级成本高、中间件演变困难、缺乏统一管控手段、治理功能不全的痛点,解决了实际的问题。
# 课程设计
很多人可能难以理解 Service Mesh 相对于传统的微服务体系的优势是什么、为什么要从微服务演进到 Service Mesh 体系,针对这个问题我会从微服务开始讲解,循序渐进地介绍架构的演进过程。从介绍微服务和 Service Mesh 的基础知识、核心组件出发,帮助你形成对 Service Mesh 全方位的了解。
- 模块一:微服务和 Service Mesh 核心组件。这个模块我会讲解微服务和 Service Mesh 的中的核心组件,比如注册中心、负载均衡器、路由器、配置中心等,带你从原理上理解各个组件的作用,如何使用组件,以及如何研发此类型组件,让你在未来的工作中游刃有余。
- 模块二: Service Mesh 实战。 我将从最流行的Istio + Envoy 架构入手,带你理解控制面和数据面,动手实战 Service Mesh。现在市面上很多课程或者书籍都是基于 Istio 1.5 以前的版本进行学习,但 Istio 在 1.5 版本之后已经发生了巨大变化,我会带你从最新技术出发,“重新认识”相关架构。
- 模块三:自己动手用 Go 实现 Service Mesh。 通过最简化的代码级演示,让你能够在源码级别,结合已有的知识,更清晰地认识 Service Mesh 的底层架构。通过自己动手实战,才能加强对原理的理解。
- 模块四: Service Mesh 落地和展望。 这一模块我将主要讲解 Service Mesh 落地中常见的问题和困难,并带你展望未来,通过自己的实践经验帮助大家思考如何更好地落地 Service Mesh。学完之后,希望你能够在面对公司 Service Mesh 落地时,做到心中有数、操作自如。
编辑 (opens new window)
上次更新: 2023/06/04, 12:34:19