Open dyc87112 opened 6 years ago
我用 cloud F版本和consul 1.2.2 好像没有这个问题啊,是多个实例的,调用也正常
@yingw 我用 cloud F版本和consul 1.2.2 好像没有这个问题啊,是多个实例的,调用也正常
试试看这个场景,假设某个node的consul agent上注册了服务A,然后在本地也启动相同服务注册到这个node 的agent上,服务实例会覆盖。
我确实出现了此问题。原本考虑后期来查看的,今早正好看见了博主此文章,学习了!
验证了没毛病
但是这样每次回创建新的服务,服务多了,会有什么影响么?
@UpdateCw 但是这样每次回创建新的服务,服务多了,会有什么影响么?
不会啊,是同一个服务,不同实例而已
@dyc87112
@yingw 我用 cloud F版本和consul 1.2.2 好像没有这个问题啊,是多个实例的,调用也正常
试试看这个场景,假设某个node的consul agent上注册了服务A,然后在本地也启动相同服务注册到这个node 的agent上,服务实例会覆盖。
试出来了的确是这样,之前没有出现问题是我们设置了默认的instance-id规则已经加了个随机数了。
另外 ip + 端口的方式很实用,我们已经改成这个了,非常感谢。有个小问题需要设置 spring.cloud.consul.discovery.heartbeat.enabled=true 否则会报错找不到:TtlScheduler 实现。
通过扩展ConsulServiceRegistry,自定义的类如何使用才能生效?
怎么扩展ConsulServiceRegistry的register方法
@yingw
@dyc87112
@yingw 我用 cloud F版本和consul 1.2.2 好像没有这个问题啊,是多个实例的,调用也正常
试试看这个场景,假设某个node的consul agent上注册了服务A,然后在本地也启动相同服务注册到这个node 的agent上,服务实例会覆盖。
试出来了的确是这样,之前没有出现问题是我们设置了默认的instance-id规则已经加了个随机数了。
另外 ip + 端口的方式很实用,我们已经改成这个了,非常感谢。有个小问题需要设置 spring.cloud.consul.discovery.heartbeat.enabled=true 否则会报错找不到:TtlScheduler 实现。
在consul上看不到output内容,如何定位哪台服务器??
请教一下,把instance-id写死可以吗?比如instance-id: abcdef。这样做有什么不好吗?
那如果是容器化部署怎么办呢,假设同一个应用的docker实例都部署在同一个服务器上面的话,那么instance-id 就是重复的呀
http://blog.didispace.com/Spring-Cloud-Finchley-Consul-InstanceId/
由于Spring Cloud对Etcd的支持一直没能从孵化器中出来,所以目前来说大多用户还在使用Eureka和Consul,之前又因为Eureka 2.0不在开源的消息,外加一些博眼球的标题党媒体使得Eureka的用户有所减少,所以,相信在选择Spring Cloud的用户群体中,应该有不少用户会选择Consul来做服