同一个consul agent程序,通过启动的时候指定不同的参数,以server或client模式之一来运行。
上一节中我们运行的agent就是以server模式来运行:
Server模式:
Client 模式:
负责通过该节点注册到 Consul 微服务的健康检查
将客户端的注册请求和查询转换为 server 的 RPC 请求
在同一个datacenter中的所有consul agent会组成一个LAN网络:
上图 datacenter 分成上下两个部分, 但是这两个部分又不是完全隔离的。他们之间通过 WAN GOSSIP 进行报文交互。
单个 datacenter 中, 节点被划分成两种颜色, 红色的 server, 紫色的 client, 他们之间通过 GRPC 进行通信(业务数据), 除此之外, Client 和 Server 之间通过还有一条 LAN Gosssip 进行通信,比如,当 Server 节点增加,或者 down 机后,Client 可以获取对应的 Server列表,去除或者增加 Server 列表。
同一个 Consul agent 程序,启动的时候,通过制定不同的参数来运行 Server 和 Client 模式。也就是说 client 和 server 本质上都是 Client Agent
上图的server集群,有一个作为leader,其他的作为follower。
而以dev模式运行的node,默认情况下是leader: