Kubernetes——分布式系统设计中几种容器运行模型
分布式系统设计中几种容器运行模型
一、Sidecar pattern(边车模型或跨斗模型)
为 Pod 主应用容器提供协同的辅助应用容器,每个应用独立运行,最为典型的代表是将主应用容器中的日志使用 agent 收集至日志服务器中时,可以将 agent 运行为辅助应用容器,即 sidecar。另一个典型的应用是为主应用容器中的 database server 启用本地缓存,模型如下图:
二、Ambassador pattern(大使模型)
为远程服务创建一个本地代理,代理应用运行于容器中,主容器中的应用通过代理容器访问远程服务。
一个典型的使用示例是主应用容器的进程访问 "一主多从" 模型的远程 Redis 应用时,可在当前 Pod 容器中为 Redis 服务创建一个 Ambassador container,主应用容器中的进程直接通过 locahost 接口访问 Ambassador container 即可。即便是 Redis 主从集群架构发生变动时,也仅需要将 Ambassador container 加以修改即可,主应用容器无须对此作出任何反应。
三、Adapter pattern(适配器模型):
一般用于将主应用容器中的内容进行标准化输出。例如:日志数据或指标数据的输出,这有助于调用者统一接收数据的接口,如下图所示。另外某应用滚动升级后的版本不兼容旧的版本时,其报告信息的格式也存在不兼容的可能性,使用 Adapter container 有助于避免调用此报告数据的应用发生错误。
Kubernetes 系统的 Pod 资源对象用于运行单个容器化应用,此应用称为 Pod 对象的主容器(main container),同时 Pod 也能容纳多个容器,不过额外的容器一般工作为 Sidecar 模型,用于辅助主容器完成工作职能。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具