Spring Cloud+nacos+Feign,實現注冊中心及配置中心


寫在前面

注冊中心、配置中心的概念就不在這里解釋了。發現服務原來一直用的是Eureka,因為這家伙閉源了,不爽。然后就發現了nacos,阿里巴巴的,好東西,一個搞定注冊中心和配置中心。官網:https://nacos.io/en-us/。官網的手冊比較入門可以,實用化還需要結合項目。接下來簡單介紹下如何使用nacos搭建注冊中心和服務中心。

在進行下面操作前,自己去git上下載一個打包發布后的nacos服務,地址:https://github.com/alibaba/nacos/releases。Linux下載第一個,windows下載第二個。后面兩個是源碼。如何啟動使用nacos,nacos官網說的很詳細,不再贅述。

注冊中心

服務提供者

https://start.spring.io/下載一個原始的spring boot工程,別忘了添加Web依賴,如何下載就不在這里說了。添加依賴:

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  <version>2.2.1.RELEASE</version>
</dependency>

配置文件application.properties添加配置:

server.port=8070
spring.application.name=service-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

啟動類

 

 

 添加一個測試用的Controller:

 

 

 至此,服務提供者完成。

服務消費者

同服務提供者操作,下載一個原始的spring boot工程,添加依賴,注意,因為要使用feign調用服務提供者,要添加相應依賴:

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  <version>2.2.1.RELEASE</version>
</dependency>
  <dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-openfeign</artifactId>
  <version>2.2.2.RELEASE</version>
</dependency>

配置文件application.properties添加配置:

server.port=8080
spring.application.name=service-consumer
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

啟動類:

 

 

 添加feign的client:

 

 

 添加測試controller:

 

 

 准備工作完成,啟動nacos、服務提供者,服務消費者。全部啟動成功后,就可以在nacos的控制台界面里看到兩個已經注冊進去的服務:

 

 

 

 

 直接使用瀏覽器訪問:http://127.0.0.1:8080/consumer/hello-consumer

配置中心

直接在上面的服務提供者中使用nacos的配置中心。添加依賴:

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  <version>2.2.1.RELEASE</version>
</dependency>

 

在Controller添加以下注解及代碼,並修改接口:

 配置文件application.properties添加配置:

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

重啟服務提供者。

 在nacos控制台界面的【配置列表】中添加配置:

 

 

 

 發布后,再訪問http://127.0.0.1:8080/consumer/hello-consumer

寫在最后

簡單介紹了如何使用,至於用到的注解有什么用,大家自行百度。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM