什么是 Sidecar

Sidecar模式是一种将服务功能拆分为独立进程的架构设计,常用于微服务场景。它降低了应用程序与底层代码的耦合度,使得异构服务能够轻松接入微服务体系。Sidecar通过代理服务注册发现和调用来实现功能,如服务发现、负载均衡和认证等。这种方式使得非Java或传统应用也能方便地接入注册中心,并通过Sidecar转发请求给目标服务,实现了服务间的通信。

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

Sidecar 是什么

将本将属于应用程序的功能拆分成单独的进程,这个进程可以被理解为Sidecar。在微服务体系内,将集成在应用内的微服务功能剥离到了sidecar内,sidecar提供了微服务发现、注册,服务调用,应用认证,限速等功能。

特点:

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

Sidecar 如何工作

接下来以异构服务为基础介绍sidecar如何工作。

Sidecar 代理服务注册发现

下图为异构服务通过sidecar接入注册中心。异构服务本身可能为非Java或传统应用,接入困难。

异构服务本身不会和注册中心有请求调用,而是通过sidecar代理注册接入注册中心,获得服务注册、发现等功能。

服务注册发现

Sidecar 代理异构服务发起服务调用

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

调用

异构服务如何被调用

如果异构服务为服务提供方(会被其它服务调用),服务发起方会先注册中心发现sidecar代理注册的实例信息,将请求发送到SidecarSidecar将请求转发给异构服务完成调用请求。

被调用

### dev-sidecar 的概念 Dev-sidecar 是一种特定类型的边车代理(sidecar proxy),主要用于开发环境中的微服务架构。这种模式允许开发者在本地环境中模拟生产环境的行为,从而提高开发效率并减少调试时间[^3]。 ### Dev-sidecar 在微服务架构中的作用 #### 提供一致的开发体验 通过引入 dev-sidecar,可以确保不同团队成员之间具有一致的服务配置和服务间通信机制。这种方式使得即使是在不同的操作系统上工作,也能获得相同的开发体验[^4]。 #### 隔离依赖关系 Dev-sidecar 可以为每个微服务实例创建独立网络命名空间(network namespace),这样做的好处是可以隔离各个服务对外部系统的调用路径以及内部服务间的交互过程。它有助于防止因版本冲突或其他因素引起的不稳定状况发生[^1]。 #### 支持灵活的服务发现与负载均衡 借助于集成到 sidecar 中的服务注册中心和智能路由组件,dev-sidecar 能够自动完成新加入集群节点的信息同步,并根据预设策略执行请求分发操作。这对于频繁变更拓扑结构或规模较大的分布式系统尤为重要[^2]。 #### 实现细粒度的安全控制 为了保障数据传输安全性和访问权限管理,在 dev-sidecar 内置了认证授权模块,负责验证客户端身份合法性并对敏感接口实施保护措施。此外还可以加密所有进出流量来抵御潜在威胁攻击。 ### Dev-sidecar 的实现方式 通常情况下,dev-sidecar 会被部署在同一主机上的容器内并与目标应用程序共享同一 IP 地址及端口范围。以下是基于 Docker Compose 文件的一个简单例子: ```yaml version: '3' services: app-service: image: my-app-image ports: - "8080:80" networks: - mesh-network dev-sidecar-proxy: image: envoyproxy/envoy:v1.27.0 volumes: - ./envoy-config.yaml:/etc/envoy/envoy.yaml depends_on: - app-service networks: - mesh-network networks: mesh-network: ``` 在这个 YAML 文件中,`app-service` 表示实际的应用程序容器;而 `dev-sidecar-proxy` 则代表作为其伴生进程存在的 Envoy 边车代理。两个服务都连接到了名为 `mesh-network` 的自定义虚拟交换机之上以便相互通信。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值