Skip to main content

Command Palette

Search for a command to run...

Consul vs Istio

Updated
1 min read

原文:Consul vs Istio

Istio 是一个开源平台,可以为微服务提供连接、管理和加密功能。

要启用 Istio 的全部功能,必须部署多个服务。控制面包括了 Pilot、Mixer 以及 Citadel 这几个必要组件,数据面的 Envoy Sidecar 也是必不可少的。另外 Istio 需要第三方的服务发现支持,例如 Kubernetes、Consul、Eureka 或者其他别的什么。最后 Istio 需要一个外部系统用来进行存储,通常是 ETCD。换句话说,Istio 需要至少三个独立的服务,以及至少一个分布式系统才算完整。

Istio 在七层提供了基于路径的路由、流量整形、负载均衡以及遥测功能。Istio 还基于服务认证功能提供了访问控制的支持,能使用七层和四层的属性对访问、路由进行控制。

Consul 是一个单一的二进制文件,同时提供了服务器和客户端的能力,并自带全部的服务发现、配置、TLS、认证等功能。无需安装额外的系统即可使用,同时还为 Vault 之类的外部系统提供了可选支持,从而进行功能扩展。这一架构让 Consul 能够轻松的安装在任何平台上,也包括物理机。

Consule 是一个基于 Agent 的模型,集群中的每个节点都需要运行一个 Consul 客户端。客户端软件管理一个本地缓存,缓存的数据来源于服务器。无需任何外部通信,所有的加密服务通信 API 都能在几毫秒的时间内进行响应。这样我们的连接过程发生在边缘,无需和中央服务器进行通信。Istio 将请求流入位于中央的 Mixer 服务,而数据的推送过程又必须由 Pilot 完成。这种机制极大的降低了 Istio 的稳定性,而 Consul 却能够在边缘高效的完成数据更新的分发以及其他工作。

Consul 的数据面是可插接的。它包含了一个内置的代理服务器,这一服务牺牲了较多性能,换来易用性的提升。用户也可以使用 Envoy 这样的第三方代理。不同的任务会有各自合适的代理,Consul 就提供了这种能力,从而能够支持复杂多样的应用部署。

除了第三方代理支持,应用可以直接和 Connect 协议进行集成。这样一来,引入 Connect 的开销就可以忽略不计了。任何其他的 Connect 支持的应用,不管使用代理或者 Connect 原生方式,都具备互联互通的能力。

Consul 只在四层实现了认证和鉴权——TLS 连接是否能够建立。我们认为服务认证应该留在四层,七层要做的事情是路由、遥测等事情。我们鼓励用户借助我们的可插接数据面,为集群所需要的七层功能选择合适的代理服务器。Consul 会在未来加入更多七层特性。

Consul 实现了自动的 TLS 认证管理,并且提供了完整的轮转支持。即使是一个大型的 Consul 集群中,也能够在无中断的情况下实现自动轮转。认证管理系统也是可插接的,目前通过代码集成在 Consul 中,很快我们会将其剥离成为外部插件。这就 Consul 就有了和任意 PKI 方案协同工作的能力。

因为 Consul 的服务连接能力(”Connect“)是内置的,他也具备和 Consul 一样的稳定性。2014 年以来,Consule 就在大型企业的生产环境中工作,目前已经有单集群部署 50000 节点的规模。

这一比较基于我们自己对 Istio 的有限认识,以及和 Istio 用户的交流。如果读者认为其中有不实之处,请点击 Edit this page 提交修改建议。我们会尽快对读者意见进行审核和更新,希望以此来保证本文的准确性。

More from this blog

龙虾恐慌:AIOps 又要改名了?

ChatGPT 开始,把 AI 拉近到普罗大众的面前,让无数人感受到 AI 的亲民魅力。而龙虾,则把大模型驱动的自动化能力,突然间变得水灵灵、活泼泼地走进千家万户。它不只是“风口上的猪”,而是风口本身。热度高到让 Mac mini 一度断货,不知道这在不在库克的预料之内。 每代人都有每代人的鸡蛋,春节期间,我就领了我的鸡蛋。翻出古老的 MacBook Air M1,充值各种大模型。当然了,这个工具

Mar 9, 20261 min read

再见 2025

我猜不少人以为这个号废了吧?并没有,只是今年变化有点大,一直有种抄起键盘,无从说起的感觉,所以一直偷懒到今天,2025 的最后一天。 今年是我的第四个本命年,去年末一期播客里,大内说本命年不是灾年,是变化年,有危也有机。可是讲真啊,只看到危,没看到机。 各种因缘际会,从鹅厂跳槽到前东家,已经接近四年,第一个合同期已经进入尾声。除了前两年还在云原生领域嗷嗷叫,后两年基本都是些鸡零狗碎的东西了,用老东家的术语说是——偏离主航道,可谓是前景暗淡了。 一旦确定要滚蛋,反倒心思轻松起来,每天骑着我的小红车...

Jan 5, 20261 min read

辅助编程?dora 说:我知道你很急可是请你别急

从 OpenGPT 把大模型的火烧旺了之后,这三年来,相信很多组织或摩拳擦掌、或躬身入局,希望借助聪明能干的大模型,或想偿还技术宅,或想降本增效,或想弯道超车。一时间,沉寂许久的 AIxx 又活过来了,LLM Ops、Vibe Coding、中医大模型、GPT 算命等等,全都老树发新芽,焕发了勃勃生机。那么视角拉回从业者最关注的饭碗相关的领域之一——AI 辅助开发,产生了什么触动,应该如何拥抱呢? DORA 的年度报告中给出了很有意思的结论——强者恒强。 执行摘要部分总结了几个有趣的点: 问题...

Oct 6, 20251 min read

[译]dora:ai 辅助软件开发状态报告

执行摘要 在 2025 年,科技领导者面临的核心问题已不再是“是否要采用 AI”,而是“如何实现其价值”。 DORA 的研究基于超过 100 小时的定性访谈和来自全球近 5,000 名技术专业人士的问卷调查。研究揭示了一个关键事实:AI 在软件开发中的主要角色是“放大器”。它会放大高效能组织的优势,也会凸显组织的缺陷。 关键结论:AI 是放大器 AI 投资的最大回报并非来自工具本身,而是来自组织底层系统的战略性建设: 高质量的内部平台 清晰的工作流 团队的协同能力 缺少这些基础,AI ...

Oct 2, 202514 min read

僭越了,有人在用 Rust 写 Kubernetes

一个新语言问世,最爱做的事情之一,就是重写存量软件了。 云原生喝酒 SIG 重点扶持项目——rk8s(https://github.com/rk8s-dev/rk8s) 也可以归在这个范畴里,只不过这个项目重写的东西比较大,是 Kubernetes。 从 2025 年 1 月第一个 Commit 开始,到现在有了 200 多次 Commit,十几万行代码。当然距离 Kubernetes 的几百万行代码还差得远——老马就是喜欢整这种大无畏项目。 另外该项目也是国内第一个脱离 Cargo 转向使用 ...

Sep 27, 20253 min read

【伪】架构师

342 posts

Consul vs Istio