出于某种原因,Zipkin 使用 Consul 发现名称而不是基本 spring.application.name 属性。
spring:
consul:
discovery:
prefer-ip-address: true
instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
但我希望它使用非随机的应用程序名称(所以 myservice 而不是 myservice-67gg8d368)。
如果我设置了 Zipkin 属性zipkin.service.name
,那么 Consul 会抛出错误,说它找不到服务。
我不确定为什么两者甚至共享财产,而不仅仅是坚持自己的财产。我希望该服务使用它的基本应用程序名称,因为否则 Zipkin 很难使用,因为它将每个新容器都列为一个全新的服务,这使得随着时间的推移很难看到代码更改如何改变时间。
更新:如果我设置了 zipkin.service.name,这是我在日志中遇到的错误
[o.s.c.c.d.ConsulDiscoveryClient] : Unable to locate service in consul agent: my-service-91828f2f88f18c3fadf193bfa3ad6d1f