无法从 Consul 注销服务。基本上领事官方页面说它会自动注销服务,但在我的情况下它不会像说的那样工作。
https://www.consul.io/docs/agent/basics.html
嗨提到领事生命周期,它说
为了防止死节点(处于失败或离开状态的节点)的积累,Consul 会自动从目录中删除死节点。这个过程称为收割。目前这是在可配置的 72 小时间隔上完成的(不建议更改收割间隔,因为它在中断情况下会产生后果)。Reaping 类似于离开,导致所有关联的服务被注销。
这是我的 bootstrap.yml 文件
server:
port: 8089
spring:
application:
name: ***-service
cloud:
consul:
host: consul-ui
port: 8500
discovery:
deregister: true
instance-id: ${spring.application.name}:${random.value}
enabled: true
register: true
health-check-interval: 20s
prefer-ip-address: true
config:
enabled: true
prefix: configuration
defaultContext: shared
format: YAML
data-key: data
watch:
enabled: true
endpoints:
shutdown:
enabled: true
在 Consul UI 中使用 purge 命令删除服务后,仍然显示在 Consul UI 上。所以意味着它没有被领事注销