Skip to content

eureka spring cloud 2 cse

liubao edited this page Apr 16, 2022 · 1 revision

Eureka+Spring Cloud迁移CSE

将 Eureka 迁移 CSE, 主要解决如下问题:

  • 将Eureka相关的依赖替换为CSE相关依赖
  • 增加CSE相关配置
  • Eureka一些使用习惯的调整,比如如何规划服务配置和逻辑隔离等

前两个问题可以通过工具完成,后面一个问题请参考常见问题处理。Eureka 迁移 CSE 和 Nacos 迁移 CSE非常类似,相关原理描述和常见问题,可以参考 Nacos + Spring Cloud 迁移 CSE + Spring Cloud。

使用migrator完成一键式改造

对于多数项目,可以通过migrator一键式完成改造。在后面的章节中,会详细描述migrator是如何做的,即使对于一些特殊的情况,也可以通过给migrator扩充功能,快速满足一键式改造的要求。

使用migrator完成改造,首先需要下载本项目代码,执行

mvn clean install

会在 target 目录编译出 migrator-0.0.1-SNAPSHOT.jar。 然后将 migrator-0.0.1-SNAPSHOT.jar 和 templates 目录拷贝到一个程序运行目录,比如 D:\migrator。然后运行:

# 进入target目录或者将 migrator-0.0.1-SNAPSHOT.jar 以及 templates 目录拷贝到另外的目录
cd D:\migrator\target 
java -jar migrator-0.0.1-SNAPSHOT.jar ModifyEurekaAction [PROJECT_HOME]

其中PROJECT_HOME是需要改造的项目根目录。程序运行完可以完成一键式修改,一些无法处理的情况,会打印日志,这些情况需要手工处理。比如:

2022-03-17 16:51:35,740 [ERROR] [main] - Manual processing is required. Cause is ...
  • 试一试

Srping Cloud Huawei Samples 提供了一个Eureka的示例项目eureka-springcloud,通过运行命令,可以将项目改造为CSE + Spring Cloud。 改造完成后,下载本地微服务引擎, 编译和运行该项目。 通过对比改造前后的差异,可以了解工具的完整运行过程。

migrator改造步骤详细说明

ModifyEurekaAction包含如下操作,分别完成不同的改造任务:

  • ModifyEurekaPomAction

ModifyEurekaPomAction的主要功能是扫描目录下面的所有POM文件,将Eureka相关依赖替换为CSE相关依赖。

  • ModifyEurekaAddBootstrapYamlAction

ModifyEurekaAddBootstrapYamlAction的主要功能是在项目的 src/main/resources 目录下添加 bootstrap.yml 文件。 会在根目录,以及根目录的第一级子目录查找 src/main/resources 目录。

  • ModifyEurekaMainClassAction

ModifyEurekaMainClassAction的主要功能是扫描目录下面的所有JAVA文件,识别文件是否包含main函数,并将 @EnableEurekaServer 或者 @EnableEurekaClient 改为 @EnableDiscoveryClient。

Clone this wiki locally