Sidecar模式

Sidecar模式是一种将应用功能拆分为独立进程的设计,常用于微服务架构,以实现服务解耦和功能增强。它通过Sidecar代理提供服务注册、发现、调用、负载均衡等基础功能,降低了微服务的复杂性。在ServiceMesh中,Sidecar作为异构服务的代理,负责与注册中心交互并处理服务间的通信,提高了系统的可伸缩性和可监控性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sidecar模式

Sidecar是一种设计模式,概念上指将应用的一部分功能从应用本身剥离出来作为单独进程的实现方式。该种模式支持以无侵入的方式向应用添加多种功能,同时也实现了多个应用的公共部分实现与每个应用的自有部分实现解耦的目的,因此目前广泛应用于微服务领域。
在这里插入图片描述

作为Service Mesh的重要要素,Sidecar模式对于构建高度高度可伸缩、可扩展、安全且可便于监控的微服务架构系统至关重要。Sidecar模式降低了与微服务架构相关的复杂性,并提供了负载平衡、服务注册、服务发现、服务调用、流量管理、应用认证、遥测、故障注入等微服务都需要的基础功能特性。

在这里插入图片描述
图源:参考文献第一篇

Sidecar特点
  • Sidecar是独立部署的进程
  • Sidecar降低了应用程序代码和底层代码的耦合度,帮助异构服务通过sidecar快速接入微服务体系。

Sidecar模式通过将公用基础设施相关功能抽象到不同的层来降低微服务的代码复杂性,高模式下不需要在每一个微服务内编写服务配置、发现、调用等一系列基础且公有的代码,实现了解耦。

Sidecar如何工作

在这里插入图片描述
图中黄色线条表示注册,白色箭头代表调用

假设我们有微服务A、B、C,在Sidecar模式下,微服务本身不会和注册中心(图中的Service Mesh Control Plane担任注册中心的角色,也有提供其他功能)有请求调用,而是通过sidecar代理注册接入注册中心,获得服务注册、发现等功能。

sidecar作为异构服务的代理发起服务调用

在这里插入图片描述

异构服务本身不和注册中心有直接联系,所以异构服务的调用也需要走sidecar,通过sidecar进行服务发现调用,sidecar收到异构服务的请求后通过服务发现和负载均衡选中目标服务实例,转发请求至目标服务。

参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值