开源服务网格,无需或少量修改代码即可为微服务提供流量管理、安全与可观测性。
hashicorp/consul
面向动态分布式基础设施的服务发现、健康检查、配置管理与服务网格工具。
- Star
- 30,087
- Fork
- 4,631
- 未关闭 Issue
- 1,421
- 最近提交
- 23小时前
这是什么?
Consul 是一个分布式系统,用于在动态基础设施中连接和配置应用。服务可以自行注册,并通过 DNS 或 HTTP 接口互相发现,外部服务(如 SaaS 提供商)也能一并注册。健康检查可以帮助运维人员及时发现集群中的问题,并与服务发现集成,避免流量被路由到不健康的主机。
Consul 支持多数据中心感知,可以跨任意数量的区域部署。其服务网格(Service Mesh)功能提供服务间通信,支持自动 TLS 加密和基于身份的授权,并可通过 sidecar 代理实现透明代理。独立的 API 网关组件则通过流量和授权策略,管理网格内服务的访问。
项目还提供 HTTP API,用于存储带索引的配置参数和应用元数据。Consul 可运行于 Linux、macOS、FreeBSD、Solaris 和 Windows,并附带可选的浏览器管理界面。同时提供商业版本 Consul Enterprise。
核心功能
- 01通过 DNS 或 HTTP 接口进行服务发现,也支持注册外部服务。
- 02健康检查,避免流量路由到不健康的主机。
- 03服务网格,提供自动 TLS 加密和基于身份的授权。
- 04API 网关,基于策略管理网格内服务的访问。
- 05支持跨任意数量区域的多数据中心部署。
- 06提供 HTTP API,用于存储带索引的配置和应用元数据。
适用场景
- 让微服务在主机不断变化的环境中相互发现,无需硬编码地址。
- 在 Kubernetes 或虚拟机环境中对服务间流量进行加密和授权。
- 在多个数据中心或区域之间协调服务配置。
- 借助健康检查将流量从故障实例上切走。
快速上手
- 1
按照独立二进制安装指南进行安装
- 2
或参照链接教程在 Kubernetes 或 Minikube 上部署
使用前须知
- 许可证为 BUSL-1.1,对部分商业用途有所限制。
- 部分功能(如完整的企业级能力)需要付费的 Consul Enterprise 版本。
收录于专题
标签
常见问题
- consul 是什么?
- 面向动态分布式基础设施的服务发现、健康检查、配置管理与服务网格工具。 Consul 是一个分布式系统,用于在动态基础设施中连接和配置应用。服务可以自行注册,并通过 DNS 或 HTTP 接口互相发现,外部服务(如 SaaS 提供商)也能一并注册。健康检查可以帮助运维人员及时发现集群中的问题,并与服务发现集成,避免流量被路由到不健康的主机。
- consul 可以免费使用吗?用的什么许可证?
- consul 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- consul 还在维护吗?
- 活跃维护中。consul 最近一次提交是在 2026年10月22日。
- consul 适合用来做什么?
- 让微服务在主机不断变化的环境中相互发现,无需硬编码地址。 在 Kubernetes 或虚拟机环境中对服务间流量进行加密和授权。 在多个数据中心或区域之间协调服务配置。 借助健康检查将流量从故障实例上切走。
- consul 怎么安装和运行?
- 按照独立二进制安装指南进行安装 或参照链接教程在 Kubernetes 或 Minikube 上部署
- 在哪里获取 consul?
- 源代码和安装说明在 GitHub 上:https://github.com/hashicorp/consul
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
云原生 HTTP 反向代理与负载均衡器,可从 Docker、Kubernetes、Consul 等平台自动生成路由配置。
Apache Dubbo 的 Java 实现,一个用于构建 RPC 通信与微服务的框架。
开源的动态服务发现、配置管理与服务管理平台,面向云原生与微服务应用。
基于 Envoy 实现 Kubernetes Gateway API 的云原生 API 网关,也可用作 AI 网关。
Kong 是一款云原生、与平台无关的 API、LLM 和 MCP 网关,可通过插件扩展,用于转发和保护服务流量。