MOSN(Modular Open Smart Network)-07-Sidecar 模式

前言

大家好,我是老马。

sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。

最近想学习一下 SOFA 对于生态的设计和思考。

sofaboot 系列

SOFAStack-00-sofa 技术栈概览

MOSN(Modular Open Smart Network)-00-简单聊一聊

MOSN(Modular Open Smart Network)-01-是一款主要使用 Go 语言开发的云原生网络代理平台

MOSN(Modular Open Smart Network)-02-核心概念

MOSN(Modular Open Smart Network)-03-流量劫持

MOSN(Modular Open Smart Network)-04-TLS 安全链路

MOSN(Modular Open Smart Network)-05-MOSN 平滑升级原理解析

MOSN(Modular Open Smart Network)-06-MOSN 多协议机制解析

MOSN(Modular Open Smart Network)-07-Sidecar 模式

MOSN(Modular Open Smart Network)-08-MOSN 扩展机制解析

Sidecar 模式是 Service Mesh 中习惯采用的模式。

Sidecar 模式是 Service Mesh 中习惯采用的模式,是容器设计模式的一种,在 Service Mesh 出现之前该模式就一直存在,本文将为您讲解 Sidecar 模式。

什么是 Sidecar 模式


将应用程序的功能划分为单独的进程可以被视为 Sidecar 模式

如图所示,Sidecar 模式允许您在应用程序旁边添加更多功能,而无需额外第三方组件配置或修改应用程序代码。

就像连接了 Sidecar 的三轮摩托车一样,在软件架构中, Sidecar 连接到父应用并且为其添加扩展或者增强功能。Sidecar 应用与主应用程序松散耦合。它可以屏蔽不同编程语言的差异,统一实现微服务的可观察性、监控、日志记录、配置、断路器等功能。

使用 Sidecar 模式的优势


Sidecar 模式具有以下优势:

  • 将与应用业务逻辑无关的功能抽象到共同基础设施降低了微服务代码的复杂度。
  • 因为不再需要编写相同的第三方组件配置文件和代码,所以能够降低微服务架构中的代码重复度。
  • 降低应用程序代码和底层平台的耦合度。

Sidecar 模式如何工作


Sidecar 是容器应用模式的一种,也是在 Service Mesh 中发扬光大的一种模式,详见 Service Mesh 架构解析,其中详细描述使用了节点代理Sidecar 模式的 Service Mesh 架构。

使用 Sidecar 模式部署服务网格时,无需在节点上运行代理,但是集群中将运行多个相同的 Sidecar 副本。在 Sidecar 部署方式中,每个应用的容器旁都会部署一个伴生容器,这个容器称之为 Sidecar 容器。Sidecar 接管进出应用容器的所有流量。在 Kubernetes 的 Pod 中,在原有的应用容器旁边注入一个 Sidecar 容器,两个容器共享存储、网络等资源,可以广义的将这个包含了 Sidecar 容器的 Pod 理解为一台主机,两个容器共享主机资源。

相关推荐
Boilermaker19926 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
MM_MS6 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
꧁Q༒ོγ꧂7 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs7 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_997 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
古城小栈7 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
sunfove7 小时前
光网络的立交桥:光开关 (Optical Switch) 原理与主流技术解析
网络
ghie90907 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab
恋爱绝缘体17 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wuk9987 小时前
VSC优化算法MATLAB实现
开发语言·算法·matlab