每日一博 | 曹大谈 dubbo mesh : 在 MOSN 中玩转 dubbo-go
service mesh 简介 service mesh 本身的理念并不复杂,就是将现代微服务应用的功能性与非功能性需求进行分离,并将非功能性需求下沉到应用的外部模块,从而使应用模块可以尽量聚焦于业务,不用关心诸如:服务发现、限流、熔断、tracing 这类非业务需求。下沉之后,相关的 service mesh 模块可以交由基础架构团队进行维护,使基础设施和业务能够完成解耦。 service mesh 设计一般划分为两个模块,控制面和数据面。可以通过下图来理解相应的职责: 对于应用来说,所有流量都会经过 service mesh 中的数据面进行转发。而能顺利转发的前提:数据面需要知道转发的目标地址,目标地址本身是由一些业务逻辑来决定的(例如服务发现),所以自然而然地,我们可以推断控制面需要负责管理数据面能正常运行所需要的一些配置: 需要知道某次请求转发去哪里:服务发现配置 外部流量进入需要判断是否已经达到服务流量上限:限流配置 依赖服务返回错误时,需要能够执行相应的熔断逻辑:熔断配置 开源界目前比较有名的主要是 istio,envoy 和 linkerd 这几个项目,今天我们来介绍一下...
