eureka迁移到nacos--双服务中心注册

服务注册中心的迁移有多种方式,官网使用nacos sync,还有民间开发的双注册中心组件eureka-nacos-proxy,但是我用了不太顺利,所以用的是阿里巴巴的双注册中心组件edas-sc-migration-starter

spring boot:2.5.3

  1. 引入依赖

    <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.0.4.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.0.4.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba.edas</groupId> <artifactId>edas-sc-migration-starter</artifactId> <version>1.0.2</version> </dependency>
  2. 正常启动即可发现两边都已经注册

  3. 如果要用open feign,需要在启动类排除ribbon自动配置,否则服务间调用会报错

复制代码
2021-08-18 16:00:58.368 ERROR 351892 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance;] with root cause

java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance;
 at org.springframework.cloud.openfeign.loadbalancer.FeignBlockingLoadBalancerClient.execute(FeignBlockingLoadBalancerClient.java:88) ~[spring-cloud-openfeign-core-3.0.3.jar:3.0.3]

点进去可以看到 应该是负载均衡时选择服务出现错误

解决方案1. 在启动类屏蔽ribbon自动配置类

此时feign会默认调用nacos的服务

方案2. 阿里云官网看的,但是我试了会报另一个错误,所以就采用方案1

本文由mdnice多平台发布

相关推荐
佳佳_1 小时前
关于在 Fabric.js 中注册字体覆盖的问题
后端·node.js
GoGeekBaird2 小时前
通过ChatGPT+Nano Banana定制一个 PPT 生成的工作流
后端
用户21411832636022 小时前
手把手教你部署AI视频复刻神器!一键生成Sora2级别视频
后端
计算机学姐2 小时前
基于SpringBoot的高校论坛系统【2026最新】
java·vue.js·spring boot·后端·spring·java-ee·tomcat
Victor3563 小时前
Hibernate(13) Hibernate的一级缓存是什么?
后端
毕设源码-赖学姐3 小时前
【开题答辩全过程】以 基于SpringBoot的健身房管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
Victor3563 小时前
Hibernate(14)什么是Hibernate的二级缓存?
后端
czlczl200209253 小时前
SpringBoot自动配置AutoConfiguration原理与实践
开发语言·spring boot·后端
heartbeat..4 小时前
Servlet 全面解析(JavaWeb 核心)
java·网络·后端·servlet
vx_bisheyuange4 小时前
基于SpringBoot的疗养院管理系统
java·spring boot·后端