(1)节点和服务注销 当服务或者节点失效,
Consul不会对注册的信息进行剔除处理,仅仅标记已状态进行标记(并且不可使 用)。如果担心失效节点和失效服务过多影响监控。可以通过调用HTTP API的形式进行处理
节点和服务的注销可以使用HTTP API:
- 注销任意节点和服务:/catalog/deregister
- 注销当前节点的服务:/agent/service/deregister/:service_id
如果某个节点不继续使用了,也可以在本机使用consul leave命令,或者在其它节点使用consul force�leave 节点Id。
(2)健康检查与故障转移
在集群环境下,健康检查是由服务注册到的Agent来处理的,那么如果这个Agent挂掉了,那么此节点 的健康检查就处于无人管理的状态。
从实际应用看,节点上的服务可能既要被发现,又要发现别的服务,如果节点挂掉了,仅提供被发现的 功能实际上服务还是不可用的。当然发现别的服务也可以不使用本机节点,可以通过访问一个Nginx实 现的若干Consul节点的负载均衡来实现。