为了解决传统微服务体系架构的上述三种局限性,以Istio,NginxMesh 为代表的代理模式(边车模式)应运而生,这就是当前微服务架构领域比较火热的服务网格技术——Service Mesh,它将分布式服务的通信层抽象为单独的⼀层,在这⼀层中实现负载均衡、服务发现、认证授权、监控追踪、流量控制等分布式系统所需要的功能。
从宏观上看,其实现方式为引入⼀个代理服务,以Sidecar 的方式(边车模式)与每⼀个业务服务部署在⼀起,由代理服务接管服务的所有出入流量。控制面作为核心控制大脑,对所有业务的代理服务(Sidecar)进行统⼀的流量控制和管理。
从微观上看,这个代理服务是通过代理业务服务之间的流量通信间接完成服务之间的通信请求,分布式系统中涉及到的所有服务治理都在代理服务中完成。通过这样⼀个与业务解耦的服务治理层可以轻松解决上边所说的三个问题。