加载中...
大使模式是一种云原生设计模式。它在应用旁边部署一个辅助代理进程(大使),由它代替应用与远程服务通信,统一处理重试、超时、断路、监控、加密等横切关注点,使应用代码保持简洁,并可跨语言复用同一套网络治理能力。

| 类型 | 云原生结构型模式 |
| 核心角色 | 出站代理进程 |
| 关键优势 | 语言无关、集中治理 |
| 典型实现 | Envoy 等代理 |
| 相关模式 | Sidecar |
大使模式(Ambassador Pattern)是一种云原生结构型设计模式,通过在应用进程旁边部署一个专门的代理服务(称为大使),把与网络相关的横切功能从主应用中剥离出来,交由大使代为处理,从而让应用专注业务逻辑。
现代分布式应用在访问远程服务时,往往需要处理重试、超时、断路、连接池、TLS 加密、路由、监控埋点等大量与业务无关的通用逻辑。若把这些逻辑写进每个应用、每种语言里,既重复又难以维护。大使模式将这些能力集中到一个独立的代理进程中,应用只需与本地的大使通信,由大使再去访问真正的远程服务。它是 Sidecar 思想在网络出站方向上的具体应用。
大使模式常用于遗留系统上云、多语言微服务统一治理以及服务网格。服务网格中的数据面代理(如 Envoy)本质上就是大使的一种典型实现,拦截应用的出入站流量并施加统一的策略。它也适合为难以修改的旧客户端补充现代的弹性与安全能力。
问:大使模式和 Sidecar 模式是什么关系?答:大使可以看作 Sidecar 的一个专门化用法。Sidecar 泛指与主应用共同部署的辅助容器,而大使特指其中承担出站网络代理职责的那一类。
问:引入大使会带来性能损耗吗?答:会增加一跳本地代理转发和一定资源开销,但换来的是统一治理和更强的弹性能力,在多数场景下这种权衡是值得的。

| 类型 | 云原生结构型模式 |
| 核心角色 | 出站代理进程 |
| 关键优势 | 语言无关、集中治理 |
| 典型实现 | Envoy 等代理 |
| 相关模式 | Sidecar |
登录 后参与讨论
暂无讨论,来发表第一条评论吧