istio学习笔记2:边车模式sidecar

Sidecar 是什么

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

将服务治理功能从应用本身剥离出来作为单独进程,与主应用程序共同放在一台主机(Host)中,但会将它们部署在各自的进程或容器中。这种方式也被称为 Sidecar(边车)模式。
在这里插入图片描述

简单来说,Sidecar 注入会将额外容器的配置添加到 Pod 模板中。

特点:

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

在这里插入图片描述

而Envoy代理扮演的就是 Sidecar 的角色。下一章会详细讲envoy

优点

  1. 通过将服务治理相关功能抽象到不同的层来降低微服务的代码复杂性
  2. 在运行时环境和编程语言方面,Sidecar
    独立于其主要应用程序,不需要为每个微服务编写服务治理功能的代码,减少了微服务架构中的代码重复。
  3. Sidecar 可以访问与主应用程序相同的资源。例如,Sidecar 可以监视 Sidecar 本身和主应用程序使用的系统资源。
  4. 由于它靠近主应用程序,因此在它们之间进行通信时没有明显的延迟。
  5. 降低了应用与底层平台的耦合度。

Sidecar 如何工作

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

异构服务本身不会和注册中心有请求调用,而是通过sidecar代理注册接入注册中心,获得服务注册、发现等功能。
在这里插入图片描述
从根本上讲,Istio的工作原理是以Sidcar的形式将Envoy的扩展版本作为代理布署到每个微服务中:
在这里插入图片描述

一些关于sidecar的扩展阅读

  • 了解Sidecar模式: https://waylau.com/sidecar-pattern/
  • Sidecar模式:下一代微服务架构的关键:
    http://2368.grd9dcf7.64q1jlfb.17f4cc.grapps.cn/2018/07/30/tech-20180730/
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值