本文探討如何零代碼將Eureka遷移到Nacos。
作者:得少泡孩,校對:周立森逮。
Spring Cloud官方宣布Spring Cloud Netflix進入維護狀態(tài)(詳見Spring Cloud Netflix項目進入維護模式之我見 )艾岂,后續(xù)不再會有新的功能已成為事實合陵。
作為開發(fā)者,如何使用極簡的方式替換Netflix相關(guān)組件成為首要解決的問題桅咆。Spring Cloud Alibaba實現(xiàn)了Spring Cloud服務(wù)注冊規(guī)范——這讓開發(fā)者能夠非常便利括授、無痛地將Eureka遷移到Nacos。
零代碼使用 Nacos 替換 Eureka
如果你想使用 Spring Cloud Alibaba 的開源組件 spring-cloud-starter-alibaba-nacos-discovery替換 Eureka,只需完成以下幾步荚虚!
安裝 Nacos薛夜。Nacos 的安裝非常簡單,本文不做贅述曲管,可參考 Nacos 官網(wǎng) 却邓,也可參考本博客近期更新的
Spring Cloud Alibaba系列博客
。-
添加 Nacos的依賴院水,同時去掉 Eureka依賴腊徙。在需要替換的工程目錄下找到pom.xml,添加如下依賴:
<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 檬某。
-
修改application.properties撬腾。一些關(guān)于Nacos的配置也必須在application.properties(或application.yml)配置,如下所示: application.properties:
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
記得刪除和 Eureka 相關(guān)的配置恢恼。
(可選) 更換EnableEurekaClient 注解民傻。如果在你的應(yīng)用啟動程序啟動類加了
@EnableEurekaClient
,需將其修改為@EnableDiscoveryClient
场斑,或者索性刪除漓踢。
啟動你的應(yīng)用即可,至此漏隐,你已實現(xiàn) “零行代碼使用 Nacos 替換 Eureka”喧半!
完整方式可參考 Spring Cloud Alibaba的 Wiki 文檔。
零代碼使用 ANS 替換 Eureka
如果你想使用 Spring Cloud Alibaba 的商業(yè)化組件 spring-cloud-starter-alicloud-ans 替換 Eureka青责,也僅需完成如下幾步挺据。
安裝輕量版配置中心。 輕量版配置中心的下載和啟動方式可參考 配置輕量配置中心脖隶。
-
添加ANS的依賴,同時去掉 Eureka依賴扁耐。 在需要替換的工程目錄下找到pom.xml。添加如下依賴:
<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 产阱。
-
(可選) application.properties 配置婉称。 一些關(guān)于 ANS的配置也可在application.properties(或application.yml)配置,如下所示:
spring.cloud.alicloud.ans.server-list=127.0.0.1 spring.cloud.alicloud.ans.server-port=8080
以上配置均為默認值构蹬,因此這一步是可選的酿矢。記得刪除和Eureka相關(guān)的配置。
(可選) 更換EnableEurekaClient 注解怎燥。如果在你的應(yīng)用啟動程序啟動類加了
@EnableEurekaClient
,需將其修改為@EnableDiscoveryClient
蜜暑,或者索性刪除铐姚。
啟動你的應(yīng)用即可,至此,你已實現(xiàn) “零行代碼使用 Nacos 替換 Eureka”隐绵!
完整的使用方式可參考 Spring Cloud Alibaba 的Wiki 文檔 之众。