首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sidecar与大使的差异与Adapter模式

Sidecar与大使的差异与Adapter模式
EN

Stack Overflow用户
提问于 2019-12-23 06:34:09
回答 3查看 11.5K关注 0票数 38

我混淆了多容器Pod设计模式。

(sidecar,适配器,大使)

我所了解的是:

Sidecar:容器+容器(共享相同的资源并执行其他功能)

适配器:容器+适配器(用于检查其他容器的状态)。例如监测)

大使:容器+代理(到外部网络)

但是,根据Istio -Installing the Sidecar的说法,他们引入代理作为一种侧面模式。

适配器是容器,代理也是容器。

那么,我的问题是,Sidecar模式和Adapter&大使模式之间有什么不同?

Sidecar模式的概念是否包含Adapter&大使模式?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-12-23 10:37:55

首先,您是对的,术语sidecar容器现在已经成为描述容器中额外容器的一个词。原(?)是一种特殊的多容器设计模式.

多容器设计模式

Sidecar模式

在您的容器中有一个额外的容器来增强,扩展主容器的功能。

大使模式

将网络连接代理到主容器的容器。

适配器模式

转换输出主容器的的容器。

这是取自2015年的原始文章:复合容器的模式

摘要

你的便条

但是,根据Istio -Installing的Sidecar,他们引入代理作为一个侧面模式。

在上面的模式中,大使和Adapter实际上都必须使用代理进行网络连接,但目的不同。使用Istio,这是完成的,例如终止mTLS连接,收集度量,以及更多的增强主容器。因此,它实际上是一个sidecar模式,但正如您正确指出的那样,令人困惑的是,所有模式都代理了连接--但目的不同。

票数 42
EN

Stack Overflow用户

发布于 2019-12-23 09:53:47

Sidecar是一个额外的容器,它扩展了主容器的功能。给出的一个例子是,您希望将日志发送到某个外部系统。在不更改业务逻辑(主容器)的情况下,可以将日志代理部署为sidecar容器。

大使是一个容器,它是系统其他部分的代理。一个很好的例子是部署大使容器,该容器具有Kubernetes API的凭据,因此不必使用来自客户端的身份验证。另一个很好的例子是使用大使作为红宝石缓存群集的代理

现在,令人困惑的是,这两种模式都是,而不仅仅限于Kubernetes。然而,在Kubernetes中的实现通常使用Sidecar。换句话说,大使通常被实现为一个侧容器(如解释的这里)。

Istio特使绝对是作为一个侧集装箱来实现的。我从未见过它被描述为大使,可能是因为它不仅仅是将请求转发到系统的其他部分。

这两篇文章很好地解释了Sidecar大使和Adapter模式:

票数 13
EN

Stack Overflow用户

发布于 2022-10-28 05:43:29

sidecar容器的思想是添加一些在主容器中不存在的功能。添加一个容器来处理诸如日志之类的函数可以解决这个问题,而不是在其他部署中不需要臃肿的代码,同时保持解耦和可伸缩性。Prometheus监控和Fluentd测井利用侧加容器收集数据。

适配器容器的基本目的是修改数据,无论是在入口还是出口,以满足其他需求。也许,现有的企业范围内的监控工具有特定的数据格式需求。适配器将是一种有效的方法,可以标准化由监视工具摄取的主容器的输出,而不必修改监视器或容器化应用程序。适配器容器将多个应用程序转换为单一视图。

大使容器允许访问外部世界,而不必在入口控制器中实现服务或其他条目:代理本地连接、反向代理、限制HTTP请求、从主容器重路由到外部世界。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59451056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档