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 。
  2. __添加 Nacos 的 pom 依賴,同時去掉 Eureka。__ 在須要替換的工程目錄下找到 maven 的配置文件 pom.xml。添加以下的 pom 依賴:微信

    <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:app

    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
    同時將和 Eureka 相關的配置刪除。
  4. (可選) 更換 EnableEurekaClient 註解。 若是在你的應用啓動程序類加了 EnableEurekaClient 註解,這個時候須要更符合 Spring Cloud 規範的一個註解 EnableDiscoveryClient 。

直接啓動你的應用便可。到目前爲止,就已經完成了 「零行代碼使用 Nacos 替換 Eureka」。maven

完整的方式可參考 Spring Cloud Alibaba 的官方 Wiki 文檔ui

零代碼使用 ANS 替換 Eureka

若是你須要使用 Spring Cloud Alibaba 的商業化組件 __spring-cloud-starter-alicloud-ans__ 來替換 Eureka。也是僅需完成如下幾個簡單的步驟便可。阿里雲

  1. __本地須要安裝 輕量版配置中心。__ 輕量版配置中心的下載和啓動方式可參考 這裏。假設如今已經正常啓動了輕量版配置中心 。
  2. __添加 ANS 的 pom 依賴,同時去掉 Eureka。__ 在須要替換的工程目錄下找到 maven 的配置文件 pom.xml。添加以下的 pom 依賴:spa

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

 

原文連接 更多技術乾貨 請關注阿里云云棲社區微信號 :yunqiinsight  

相關文章
相關標籤/搜索