Sidecar 是什么
将本将属于应用程序的功能拆分成单独的进程,这个进程可以被理解为Sidecar
。在微服务体系内,将集成在应用内的微服务功能剥离到了sidecar
内,sidecar
提供了微服务发现、注册,服务调用,应用认证,限速等功能。
特点:
Sidecar
为独立部署的进程。sidecar
降低应用程序代码和底层代码的耦合度,帮助异构服务通过sidecar
快速接入微服务体系。
Sidecar 如何工作
接下来以异构服务为基础介绍sidecar
如何工作。
Sidecar 代理服务注册发现
下图为异构服务通过sidecar
接入注册中心。异构服务本身可能为非Java
或传统应用,接入困难。
异构服务本身不会和注册中心有请求调用,而是通过sidecar
代理注册接入注册中心,获得服务注册、发现等功能。
Sidecar 代理异构服务发起服务调用
异构服务本身不和注册中心有直接联系,所以异构服务的调用也需要走sidecar
,通过sidecar
进行服务发现调用,sidecar
收到异构服务的请求后通过服务发现和负载均衡选中目标服务实例,转发请求至目标服务。
异构服务如何被调用
如果异构服务为服务提供方(会被其它服务调用),服务发起方会先注册中心发现sidecar
代理注册的实例信息,将请求发送到Sidecar
,Sidecar
将请求转发给异构服务完成调用请求。