springCloud-19 consul 常见问题 节点和服务注销 健康检查与故障转移

一,节点和服务注销

        当服务或者节点失效,Consul不会对注册的信息进行剔除处理,仅仅标记已状态进行标记(并且不可使用)。如果担心失效节点和失效服务过多影响监控。可以通过调用 HTTP API 的形式进行处理
节点和服务的注销可以使用 HTTP API:
  • 注销任意节点和服务:/catalog/deregister
  • 注销当前节点的服务:/agent/service/deregister/:service_id
如果某个节点不继续使用了,也可以在本机使用 consul leave 命令,或者在其它节点使用consul force-leave 节点 Id

二,健康检查和故障转移

        在集群环境下,健康检查是由服务注册到的Agent 来处理的,那么如果这个 Agent挂掉了,那么此节点的健康检查就处于无人管理的状态。
        从实际应用看,节点上的服务可能既要被发现,又要发现别的服务,如果节点挂掉了,仅提供被发现的功能实际上服务还是不可用的。当然发现别的服务也可以不使用本机节点,可以通过访问一个 Nginx实现的若干 Consul 节点的负载均衡来实现。
当consul client  挂掉时,因为目前我们配置的client 只有一个节点,所以如果client 挂掉的时候,整个项目就不是高可用了。所以,我们目前可以将client 也配置成集群的方式。

版权声明:本文为qq_41169544原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。