Springcloud-nacos實現配置和註冊中心

Springcloud-nacos實現配置和註冊中心

最近,阿里開源的nacos比較火,能夠和springcloud和dubbo共用,對dubbo升級到springcloud很是的方便。這裏學習一下他的配置和註冊中心。我主要記錄一下它的使用方式和踩得坑。html

nacos簡單介紹

Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。git

Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺。 Nacos 是構建以「服務」爲中心的現代應用架構 (例如微服務範式、雲原生範式) 的服務基礎設施。github


以上是從nacos官網摘抄下來的,總結一下nacos有如下有點幾個優勢:
(1)它支持配置中心管理(含圖形化界面)
(2)部署交付簡單
(3)包含註冊中心,不用獨自搭建配置和註冊中心。
(4)完美集成spring cloud和dubbo拓展性好spring

nacos使用方式,具體參考官方配置

(1)從 Github 上下載源碼方式
   ------ git clone https://github.com/alibaba/na...
   ------ cd nacos/
   ------ mvn -Prelease-nacos clean install -U
   ------ ls -al distribution/target/
   ------ cd distribution/target/nacos-server-$version/nacos/bin數據庫

(2)解壓,啓動nacos
   ------ unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
   ------ cd nacos/bin
   ------ sh startup.sh -m standalone
   完成,集羣高可用請自行研究,本文不過多贅述。bootstrap

nacos實現配置中心

springcloud使用nacos做爲配置中心特別簡單。只須要添加依賴,使用bootstrap配置註冊中心地址便可。
(1)添加nacos的配置中心依賴
   <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
   </dependency>
(2)配置bootstrap.properties文件
  ---- #配置服務的名字
  ---- spring.application.name=provider-service
  ---- #nacos配置中心的地址
  ---- spring.cloud.nacos.config.server-addr=nacos.ailijie.top
  ---- #nacos配置的編碼方式
  ---- spring.cloud.nacos.config.encode=utf-8 架構

  ---- #配置組名子,須要在nacos的配置設置,否則找不到
  ---- spring.cloud.nacos.config.group=PROVIDER_GROUP
  ---- #配置後綴,properties不須要
  ---- spring.cloud.nacos.config.file-extension=yml
  ---- #加載nacos多個配置文件
  ---- spring.cloud.nacos.config.shared-dataids=provider-service.properties,test.properties
  ---- #刷新加載的其餘環境
  ----spring.cloud.nacos.config.refreshable-dataids=provider-service.properties,test.properties
(3)簡單介紹一下,使用nacos配置中心,客戶端會定時心跳拉去配置,環境變量會動態刷新,可是在bean中須要使用 @RefreshCode註解去刷新,否則不生效。數據庫配置能夠自定義數據源。加載其餘配置文件的話,須要使用refres-dataids去刷新環境。app

nacos實現註冊中心

一樣的,nacos實現註冊中心也是至關的簡單,nacos配置成功後,咱們只須要添加依賴,註解,配置註冊中心地址便可。
(1)添加依賴
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  </dependency>
(2)在啓動類上添加 @EnableDiscoveryClient 註解
(3)配置註冊中心地址
  ---- #配置服務名字
  ---- spring.application.name=xxx-service
  ---- #配置服務集羣名字
  ---- spring.cloud.nacos.discovery.cluster-name=consumer-service
  ---- #配置註冊中心地址
  ---- spring.cloud.nacos.discovery.server-addr=nacos.ailijie.top
完成,就是這樣簡單。ide

nacos採坑心得

下面是我遇到的一些問題:
(1)使用版本管理,學習新項目咱們首先須要瞭解版本兼容特性,否則會出現不少問題。
(2)配置不生效,沒有使用@RefreshCode註解刷新配置
(3)分清註冊中心和配置中心是兩個概念,須要配置兩個地址
(4)學會看源碼,看維基。微服務


未完待續,接下來會寫服務發現feign和springdataflow相關話題。有問題請留言。

相關文章
相關標籤/搜索