查看原文
其他

Spring Cloud Alibaba迁移指南1:零代码从Eureka迁移到Nacos

得少 IT牧场 2019-07-12

作者:得少,校对:周立。

在本号首发,欢迎转载。

Spring Cloud官方宣布Spring Cloud Netflix进入维护状态(详见Spring Cloud Netflix项目进入维护模式之我见 、Spring官方宣布Netflix项目进入维护模式解读后续 ),后续不再会有新的功能已成为事实。

作为开发者,如何使用极简的方式替换Netflix相关组件成为首要解决的问题。Spring Cloud Alibaba实现了Spring Cloud服务注册规范——这让开发者能够非常便利、无痛地将Eureka迁移到Nacos。 

零代码使用 Nacos 替换 Eureka

如果你想使用 Spring Cloud Alibaba 的开源组件 spring-cloud-starter-alibaba-nacos-discovery 替换 Eureka,只需完成以下几步!

安装 Nacos。Nacos 的安装非常简单,本文不做赘述,可参考Nacos 官网( https://nacos.io/zh-cn/docs/quick-start.html ),也可参考本博客近期更新的 SpringCloudAlibaba系列博客 。

添加 Nacos的依赖,同时去掉 Eureka依赖。在需要替换的工程目录下找到pom.xml,添加如下依赖:

  1. <dependencies>

  2.    <dependency>

  3.        <groupId>org.springframework.cloud</groupId>

  4.        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>

  5.        <version>0.2.1.RELEASE</version>

  6.    </dependency>

  7. </dependencies>

同时去掉依赖 spring-cloud-starter-netflix-eureka-client 。 

修改application.properties。一些关于Nacos的配置也必须在application.properties(或application.yml)配置,如下所示: application.properties:

  1. spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

记得删除和 Eureka 相关的配置。

(可选) 更换EnableEurekaClient 注解。如果在你的应用启动程序启动类加了 @EnableEurekaClient,需将其修改为 @EnableDiscoveryClient ,或者索性删除。

启动你的应用即可,至此,你已实现 “零行代码使用 Nacos 替换 Eureka”!

完整方式可参考Spring Cloud Alibaba的Wiki文档( https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/Nacos-discovery )。

零代码使用 ANS 替换 Eureka

如果你想使用 Spring Cloud Alibaba 的商业化组件 spring-cloud-starter-alicloud-ans 替换 Eureka,也仅需完成如下几步。

安装轻量版配置中心。 轻量版配置中心的下载和启动方式可参考配置轻量配置中心(https://help.aliyun.com/document_detail/44163.html)。

添加ANS的依赖,同时去掉 Eureka依赖。 在需要替换的工程目录下找到pom.xml。添加如下依赖:

  1. <dependencies>

  2.    <dependency>

  3.        <groupId>org.springframework.cloud</groupId>

  4.        <artifactId>spring-cloud-starter-alicloud-ans</artifactId>

  5.        <version>0.2.1.RELEASE</version>

  6.    </dependency>

  7. </dependencies>

同时去掉依赖spring-cloud-starter-netflix-eureka-client 。 

(可选) application.properties 配置。 一些关于 ANS的配置也可在application.properties(或application.yml)配置,如下所示:

  1. spring.cloud.alicloud.ans.server-list=127.0.0.1

  2. spring.cloud.alicloud.ans.server-port=8080

以上配置均为默认值,因此这一步是可选的。记得删除和Eureka相关的配置。

(可选) 更换EnableEurekaClient 注解。如果在你的应用启动程序启动类加了 @EnableEurekaClient,需将其修改为 @EnableDiscoveryClient ,或者索性删除。

启动你的应用即可,至此,你已实现 “零行代码使用 Nacos 替换 Eureka”!

完整的使用方式可参考Spring Cloud Alibaba的Wiki文档(https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/ANS)。

相关热文

微服务网关Zuul迁移到Spring Cloud Gateway

干货分享

最近将个人学习笔记整理成册,使用PDF分享。关注我,回复如下代码,即可获得百度盘地址,无套路领取!

001:《Java并发与高并发解决方案》学习笔记;

002:《深入JVM内核——原理、诊断与优化》学习笔记;

003:《Java面试宝典》

您的关注是对我最大的支持!


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存