一、边车模式:将服务治理功能从应用本身剥离出来作为单独进程,与主应用程序共同放在一台主机(host)中,但会将他们部署在各自的进程或容器中,这种方式
将本将属于应用程序的功能拆分成单独的进程,这个进程可以被理解为sidecar。在微服务体系中,将集成在应用内的微服务功能剥离到了sidecar内,sidecar提供了微服务发现、注册、服务调用、应用认证、限速等功能。
二、特点
sidecar为独立部署的进程
sidecar降低应用程序代码和底层代码的耦合度,帮助异构服务通过sidecar快速接入微服务体系。如Envoy代理
三、优点
通过将服务治理相关功能抽象到不同的层来降低微服务的代码复杂度
在运行时环境和编程语言方面,sidecar独立于其主要应用程序,不需要为每个微服务编写服务治理能力的代码,减少了微服务架构的代码的重复
sidecar可以访问与主应用程序相同的资源,例如,sidecar可以监控sidecar本身和主应用程序使用的系统资源
由于它靠近主应用程序,因此在它们之间进行通讯时没有明显的延迟
降低了应用与底层平台的耦合度
四、sidecar是如何工作的
异构服务本身不会和注册中心有请求调用,而是通过sidecar代理注册接入注册中心,获得服务注册、发现等能力
从根本上来将,istio的工作原理是以sidecar的形式将Envoy的扩展版本作为代理部署到每个微服务中