博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring cloud consul 应用的多实例名的解决
阅读量:2168 次
发布时间:2019-05-01

本文共 1326 字,大约阅读时间需要 4 分钟。

之前使用eureka时,注册服务的ID 是随机数,eureka上不会出现同一服务多实例的问题。但是,换上了 consul 作为注册中心后,却出现同一个服务拥有多个实例的问题,上次服务挂掉之后的实例还在注册中心上挂着,每次重启多一个实例。

有什么办法去解决这个问题?答案就是自定义spring cloud consul 的注册方法,使其唯一化。

public class ServiceIdRegister extends ConsulServiceRegistry {
public ServiceIdRegister(ConsulClient client, ConsulDiscoveryProperties properties, TtlScheduler ttlScheduler, HeartbeatProperties heartbeatProperties) {
super(client, properties, ttlScheduler, heartbeatProperties); } @Override public void register(ConsulRegistration reg) {
//重新设计id, 服务命-ip-port reg.getService().setId(reg.getService().getName() + "-" + reg.getService().getAddress() + "-" + reg.getPort()); super.register(reg); }}
@Configuration@ConditionalOnConsulEnabledpublic class ConsulConfig {
@Autowired(required = false) private TtlScheduler ttlScheduler; /** * 重写register方法 * * @param consulClient * @param properties * @param heartbeatProperties * @return */ @Bean public ServiceIdRegister consulServiceRegistry(ConsulClient consulClient, ConsulDiscoveryProperties properties, HeartbeatProperties heartbeatProperties) {
return new ServiceIdRegister(consulClient, properties, ttlScheduler, heartbeatProperties); }}

转载地址:http://wxxzb.baihongyu.com/

你可能感兴趣的文章
走进JavaWeb技术世界9:Java日志系统的诞生与发展
查看>>
走进JavaWeb技术世界10:从JavaBean讲到Spring
查看>>
走进JavaWeb技术世界11:单元测试框架Junit
查看>>
走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven
查看>>
走进JavaWeb技术世界13:Hibernate入门经典与注解式开发
查看>>
走进JavaWeb技术世界14:Mybatis入门
查看>>
走进JavaWeb技术世界16:极简配置的SpringBoot
查看>>
初探Java设计模式1:创建型模式(工厂,单例等)
查看>>
初探Java设计模式2:结构型模式(代理模式,适配器模式等)
查看>>
初探Java设计模式3:行为型模式(策略,观察者等)
查看>>
初探Java设计模式4:一文带你掌握JDK中的设计模式
查看>>
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
查看>>
Java集合详解2:一文读懂Queue和LinkedList
查看>>
Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
查看>>
Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
查看>>
Java集合详解5:深入理解LinkedHashMap和LRU缓存
查看>>
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
查看>>
Java集合详解8:Java集合类细节精讲,细节决定成败
查看>>