运行代理

    其他节点以 客户端 模式运行。客户端 进程非常轻量级,只负责 注册服务 ,运行 健康检查 以及 转发查询 。集群内每个节点均需要运行 客户端 模式 代理

    更多数据中心部署细节,请查看文档 deployment-guide

    快速起见,我们以 开发 ( development )模式启动 代理 ,这个模式可快速拉起一个单节点的 Consul 环境。千万不要在生产环境中使用该模式,因为数据没有持久化

    可以看到, Consul 已经启动并输出一些日志信息。从日志可知, 代理服务器 模式运行,并作为集群领袖。注意到,当前节点被标记为健康,并成为集群唯一节点。

    命令输出集群节点信息,包括 地址健康状态节点角色 以及一些 版本信息 。如果指定 参数,还可以看到额外的 元数据

    指令输出基于 gossip协议 ,只保证 最终一致 ( eventually consistent )。换句话讲,不管何时,当前 代理 所见可能并不是集群的全貌。如果需要 强一致 ( strongly consistent )的结果,可用使用 HTTP 接口进行查询(请求将转发至服务器):

    除了 HTTP 接口,还可以使用 DNS 接口查询节点信息。注意,你需要将 DNS 查询指到 Consul 代理的 DNS 服务器,默认跑在 8600 端口。

    DNS 记录格式(如 ),将在 详细介绍。

    优雅退出 要求 Consul 在退出前先通知集群其他节点。如果 强杀 代理进程,集群其他节点将检测到该节点 故障 。集群成员退出,其服务以及健康检查任务将从目录中移除。集群成员故障,其健康状态将被标记为 严重错误 ,但不会从目录中移除。Consul 将自动重连故障节点,以应对网络波动,但不会重连已退出的节点。

    如果 代理服务器 模式,优雅退出则更为重要——避免影响 共识协议 而导致服务中断。更多关于安全添加和删除服务节点,请查考文档 advanced-operations/servers

    下一节,开始介绍: 。

    订阅更新,获取更多学习资料,请关注我们的 微信公众号