加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

java – Docker中的Consul和Spring Boot服务 – 而不是取消注

发布时间:2020-12-16 03:37:36 所属栏目:安全 来源:网络整理
导读:因此,我们使用Spring-Boot编写Java微服务,使用Consul进行服务发现和配置管理,并在Docker容器中运行.所有这一切都在工作,但是当一个容器死掉或服务重新启动时,即使新容器已经注册并显示所有内容,在Consul UI中显示为“Failing”后,旧的service-id永远不会在Co

因此,我们使用Spring-Boot编写Java微服务,使用Consul进行服务发现和配置管理,并在Docker容器中运行.所有这一切都在工作,但是当一个容器死掉或服务重新启动时,即使新容器已经注册并显示所有内容,在Consul UI中显示为“Failing”后,旧的service-id永远不会在Consul和服务中消失绿色.

我们没有使用心跳 – 但是我找不到很多关于心跳和健康检查之间的差异的文档.

这是我的bootstrp.yml

spring:
  application:
    name: my-service
  cloud:
    config:
      enabled: false
    consul:
      host: ${discovery.host:localhost}
      port: ${discovery.port:8500}
      config:
        watch:
          wait-time: 30
          delay: 10000 
        profile-separator: "-"
        format: FILES
      discovery:
        prefer-ip-address: true
        instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}

还有其他设置可以启用心跳,但是文档说明这一点会给Consul集群带来更多压力.

有没有人设法让Consul和Spring Boot / Docker服务实际上自动取消注册?它实际上不会导致任何实际问题,但它使得Consul UI实际上无法监控上/下服务.

最佳答案
Consul不会自动注销服务.

有关同一问题的提示,请参阅https://groups.google.com/forum/#!topic/consul-tool/slV5xfWRpEE.根据该线程,您需要更新配置或执行Agent API call.由于代理是事实的来源,因此您不应尝试通过Catalog API进行更新.有关详细信息,请参阅GitHub.他们还在Google小组中提到,如果节点优雅地关闭,您不一定要取消注册服务,但这似乎不是您的用例.

有关使用api或registrator等工具自动取消注册服务的提示,请查看Consul not deregistering zombie services.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读