初识Consul

Consul 是什么?

Consul 是一个 service mesh 解决方案,提供功能齐全的控制界面和服务发现、配置和分割功能。

Consul 有以下几大特征

服务发现:Clients 注册一个服务,像API 或者 mysql 或者其他Client 使用Consul 去发现 提供服务,使用DNS or HTTP, 程序 能容易找到他们服务依赖 。

健康检查:Consul Clients 提供健康检查 如果服务return 200 表示 ok 

KV 存储:Consul 存储结构上KV存储,比如存储动态配置、功能标记、协调、leader选主。

安全服务通信:Consul 能为服务生成和分发TLS证书,建立相互的TLS链接。

多数据中心:Consul 支持多数据中心开箱及用,这意味着用户使用Consul 不需要额外搭建抽象层扩展到多个区域。

 

Consul 基础架构图

Consul 专业术语名词:

Agent:Agent 线程安全运行在每一个Consul 集群中,它是Consul Agent 启动运行,它可能是client 或者 server 模式运行。

Client(客户端):Client 是将agent 所有RPCs 转发到Server。

Server(服务器):Server 参与选主、维护集群状态、响应RPC查询、与其他数据中心交换 WAN gossip 、转发查询给leader和远程数据中心。

Datacenter(数据中心):数据中心 定义为专用,低延迟和高宽带的网络环境。

Consensu(共识):Consensu 意味着复制状态机一致性,达到共识。事务应用于finite-state machine (有限状态机)。

LAN Gossip:主要是 提供故障检测、事件广播,更多的请参考gossip协议文档 https://www.consul.io/docs/internals/gossip.html

WAN Gossip:指包含服务器的WAN gossip pool ,这些服务器属于不同的数据中心通常通过Internet 和广域网进行通信。

RPC-Remote Procedure Call(远程调用):是一个请求/响应机制,客户端发请求给服务端。

 

参考文献:

https://www.consul.io/intro/index.html

https://www.consul.io/docs/internals/architecture.html

                  

你可能感兴趣的:(初识Consul)