服务注册中心——Consul

1:Consul介绍

Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。领事需要数据平面,并支持代理和本机集成模型。Consul附带了一个简单的内置代理,因此一切都可以直接使用,还支持Envoy等第三方代理集成。

2:Consul的特点

Consul的主要特点是:

  • 服务发现:Consul的客户端可以注册服务,例如 api或mysql,其他客户端可以使用Consul来发现给定服务的提供者。使用DNS或HTTP,应用程序可以轻松找到它们依赖的服务。

  • 运行状况检查:Consul客户端可以提供任何数量的运行状况检查,这些检查可以与给定服务(“ Web服务器返回200 OK”或与本地节点(“内存利用率低于90%”))相关联。操作员可以使用此信息来监视群集的运行状况,服务发现组件可以使用此信息将流量从不正常的主机发送出去。

  • KV商店:应用程序可以将Consul的分层键/值存储用于多种目的,包括动态配置,功能标记,协调,领导者选举等。简单的HTTP API使其易于使用。

  • 安全的服务通信:Consul可以为服务生成和分发TLS证书以建立相互TLS连接。 意图 可用于定义允许哪些服务进行通信。可以使用可以实时更改的意图轻松管理服务分段,而不用使用复杂的网络拓扑和静态防火墙规则。

  • 多数据中心:Consul开箱即用地支持多个数据中心。这意味着Consul的用户不必担心会构建其他抽象层以扩展到多个区域。

3:Consul的基本架构

  • Consul是一个分布式的,高度可用的系统。向Consul提供服务的每个节点都运行Consul代理。发现其他服务或获取/设置键/值数据不需要运行代理。该代理负责健康检查节点上的服务以及节点本身。

  • 代理与一台或多台Consul服务器通信。Consul服务器是存储和复制数据的地方。服务器本身选举一个领导者。虽然Consul可以在一台服务器上运行,但建议使用3到5个以避免出现导致数据丢失的故障情况。对于每个数据中心,建议使用Consul服务器群集。

  • 需要发现其他服务或节点的基础结构组件可以查询任何Consul服务器或任何Consul代理。代理将查询自动转发到服务器。

  • 每个数据中心都运行Consul服务器群集。发出跨数据中心服务发现或配置请求时,本地Consul服务器会将请求转发到远程数据中心并返回结果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章