Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka

自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,咱们开始制做《Spring Cloud Alibaba迁移指南》系列文章,向开发者提供更多的技术选型方案,并下降迁移过程当中的技术难度。html

第二篇,Spring Cloud Alibaba 实现了 Spring Cloud 服务注册的标准规范,这就自然的给开发者提供了一种很是便利的方式将服务注册中心的 Eureka 迁移到开源的 Nacos 。 git

第一篇回顾:一行代码从 Hystrix 迁移到 Sentinelgithub

零代码使用 Nacos 替换 Eureka

若是你须要使用 Spring Cloud Alibaba 的开源组件 __spring-cloud-starter-alibaba-nacos-discovery__ 来替换 Eureka。须要完成如下几个简单的步骤便可。spring

1. __本地须要安装 Nacos。__Nacos 的安装方式也是极其的简单,参考 Nacos 官网。假设如今已经正常启动了 Nacos 。app

2. __添加 Nacos 的 pom 依赖,同时去掉 Eureka。__ 在须要替换的工程目录下找到 maven 的配置文件 pom.xml。添加以下的 pom 依赖:maven

<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__ pom 给去掉。 

3. __application.properties 配置。__ 一些关于 Nacos 基本的配置也必须在 application.properties(也能够是application.yaml)配置,以下所示: application.properties:ui

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
同时将和 Eureka 相关的配置删除。

4. (可选) 更换 EnableEurekaClient 注解。若是在你的应用启动程序类加了 EnableEurekaClient 注解,这个时候须要更符合 Spring Cloud 规范的一个注解EnableDiscoveryClient 。code

直接启动你的应用便可。到目前为止,就已经完成了 “零行代码使用 Nacos 替换 Eureka”。server

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

零代码使用 ANS 替换 Eureka

若是你须要使用 Spring Cloud Alibaba 的商业化组件 __spring-cloud-starter-alicloud-ans__ 来替换 Eureka。也是仅需完成如下几个简单的步骤便可。

1. __本地须要安装 轻量版配置中心。__ 轻量版配置中心的下载和启动方式可参考 这里。假设如今已经正常启动了轻量版配置中心 。

2. __添加 ANS 的 pom 依赖,同时去掉 Eureka。__ 在须要替换的工程目录下找到 maven 的配置文件 pom.xml。添加以下的 pom 依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-alicloud-ans</artifactId>
        <version>0.2.1.RELEASE</version>
    </dependency>
</dependencies>
同时将依赖的 __org.springframework.cloud:spring-cloud-starter-netflix-eureka-client__ pom 给去掉。 

3. __(可选) application.properties 配置。__ 一些关于 ANS 基本的配置也能够在 application.properties(也能够是application.yaml)配置,以下所示: application.properties:

spring.cloud.alicloud.ans.server-list=127.0.0.1
spring.cloud.alicloud.ans.server-port=8080
若是不配置的话,默认值就是 __127.0.0.1__ 和 __8080__ ,所以这一步是可选的。同时将和 Eureka 相关的配置删除。

4. (可选) 更换 EnableEurekaClient 注解。若是在你的应用启动程序类加了 EnableEurekaClient 注解,这个时候须要更符合 Spring Cloud 规范的一个注解EnableDiscoveryClient 。

代码层面不须要改动任何代码,直接启动你的应用便可。到目前为止,就已经完成了 “零代码使用 ANS 替换 Eureka”。

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



本文做者:中间件小哥

阅读原文

本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索