本文探讨如何零代码将Eureka迁移到Nacos。html
做者:得少,校对:周立。git
Spring Cloud官方宣布Spring Cloud Netflix进入维护状态(详见Spring Cloud Netflix项目进入维护模式之我见 ),后续再也不会有新的功能已成为事实。github
做为开发者,如何使用极简的方式替换Netflix相关组件成为首要解决的问题。Spring Cloud Alibaba实现了Spring Cloud服务注册规范——这让开发者可以很是便利、无痛地将Eureka迁移到Nacos。spring
若是你想使用 Spring Cloud Alibaba 的开源组件 spring-cloud-starter-alibaba-nacos-discovery替换 Eureka,只需完成如下几步!app
**安装 Nacos。**Nacos 的安装很是简单,本文不作赘述,可参考 Nacos 官网 ,也可参考本博客近期更新的Spring Cloud Alibaba系列博客
。ui
**添加 Nacos的依赖,同时去掉 Eureka依赖。**在须要替换的工程目录下找到pom.xml,添加以下依赖:code
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>0.2.1.RELEASE</version> </dependency> </dependencies>
同时去掉依赖 spring-cloud-starter-netflix-eureka-client 。server
修改application.properties。一些关于Nacos的配置也必须在application.properties(或application.yml)配置,以下所示: application.properties:xml
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
记得删除和 Eureka 相关的配置。htm
(可选) 更换EnableEurekaClient 注解。若是在你的应用启动程序启动类加了@EnableEurekaClient
,需将其修改成@EnableDiscoveryClient
,或者索性删除。
启动你的应用便可,至此,你已实现 “零行代码使用 Nacos 替换 Eureka”!
完整方式可参考 Spring Cloud Alibaba的 Wiki 文档。
若是你想使用 Spring Cloud Alibaba 的商业化组件 spring-cloud-starter-alicloud-ans 替换 Eureka,也仅需完成以下几步。
安装轻量版配置中心。 轻量版配置中心的下载和启动方式可参考 配置轻量配置中心。
添加ANS的依赖,同时去掉 Eureka依赖。 在须要替换的工程目录下找到pom.xml。添加以下依赖:
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alicloud-ans</artifactId> <version>0.2.1.RELEASE</version> </dependency> </dependencies>
同时去掉依赖spring-cloud-starter-netflix-eureka-client 。
(可选) application.properties 配置。 一些关于 ANS的配置也可在application.properties(或application.yml)配置,以下所示:
spring.cloud.alicloud.ans.server-list=127.0.0.1 spring.cloud.alicloud.ans.server-port=8080
以上配置均为默认值,所以这一步是可选的。记得删除和Eureka相关的配置。
(可选) 更换EnableEurekaClient 注解。若是在你的应用启动程序启动类加了@EnableEurekaClient
,需将其修改成@EnableDiscoveryClient
,或者索性删除。
启动你的应用便可,至此,你已实现 “零行代码使用 Nacos 替换 Eureka”!
完整的使用方式可参考 Spring Cloud Alibaba 的Wiki 文档 。
http://www.itmuch.com/spring-cloud-alibaba-migration/spring-cloud-alibaba-1/