Fork me on GitHub

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

目录

本文探讨如何零代码将Eureka迁移到Nacos。

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

在本博客首发,欢迎转载。

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

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

零代码使用 Nacos 替换 Eureka

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

  1. 安装 Nacos。Nacos 的安装非常简单,本文不做赘述,可参考 Nacos 官网 ,也可参考本博客近期更新的Spring Cloud Alibaba系列博客
  2. 添加 Nacos的依赖,同时去掉 Eureka依赖。在需要替换的工程目录下找到pom.xml,添加如下依赖:

    1
    2
    3
    4
    5
    6
    7
    <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

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

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

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

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

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

完整方式可参考 Spring Cloud Alibaba的 Wiki 文档

零代码使用 ANS 替换 Eureka

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

  1. 安装轻量版配置中心。 轻量版配置中心的下载和启动方式可参考 配置轻量配置中心
  2. 添加ANS的依赖,同时去掉 Eureka依赖。 在需要替换的工程目录下找到pom.xml。添加如下依赖:

    1
    2
    3
    4
    5
    6
    7
    <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

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

    1
    2
    spring.cloud.alicloud.ans.server-list=127.0.0.1
    spring.cloud.alicloud.ans.server-port=8080

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

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

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

完整的使用方式可参考 Spring Cloud Alibaba 的Wiki 文档

相关文章

评论系统未开启,无法评论!