知识卡片
服务网格让治理能力与语言解耦
内容
微服务规模增长后,服务发现、负载均衡、故障转移、重试、监控等治理能力必须存在,但把它们做成各语言的框架库(如绑定 Java 的某类框架)会导致团队的技术栈被框架锁死,且框架代码侵入业务代码,升级和修 bug 都困难。服务网格的做法是把这些治理能力从业务进程中剥离,下沉到一个独立的基础设施层(由 sidecar 代理承担),业务代码完全无感知,任何语言写的服务都能获得同一套治理能力。发散:这本质上是把”横切关注点”从库依赖关系转成了部署层关系——用 sidecar 把一个跨语言的分布式系统问题,降级成了单机进程间通信问题。
参考来源
《Istio入门与实战》第1章《服务网格与Istio》