介绍
官方文档:https://www.consul.io/docs/intro
Consul是一个分布式,高可用的系统。是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。
主要特点如下:
服务发现:Consul的客户端可以注册服务,例如 api或mysql,其他客户端可以使用Consul来发现给定服务的提供者。使用DNS或HTTP,应用程序可以轻松找到它们依赖的服务。
健康检查: Consul客户端可用提供任意数量的健康检查,指定一个服务(比如:webserver是否返回了200 OK 状态码)或者使用本地节点(比如:内存使用是否大于90%).。这个信息可由operator用来监视集群的健康。被服务发现组件用来避免将流量发送到不健康的主机。
Key/Value存储:应用程序可用根据自己的需要使用Consul的层级的Key/Value存储。比如动态配置,功能标记,协调,领袖选举等等,简单的HTTP API让他更易于使用。
多数据中心: Consul支持开箱即用的多数据中心。这意味着用户不需要担心需要建立额外的抽象层让业务扩展到多个区域。Consul面向DevOps和应用开发者友好.是他适合现代的弹性的基础设施。
安全的服务通讯:Consul可以为服务生成和分发TLS证书以建立相互TLS连接。 Intentions可用于定义允许哪些服务进行通信。使用Intentions可以非常方便地管理服务划分(Service segmentation),并且可以实时改变通讯策略,而不必使用复杂的网络拓扑和静态防火墙规则。(用于service mesh)
Agent介绍
Consul的Agent是Consul的核心进程,其作用