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 文檔



本文做者:中間件小哥

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索