Springcloud-nacos實(shí)現(xiàn)配置和注冊中心的方法
最近,阿里開源的nacos比較火,可以和springcloud和dubbo共用,對dubbo升級到springcloud非常的方便。這里學(xué)習(xí)一下他的配置和注冊中心。我主要記錄一下它的使用方式和踩得坑。
nacos簡單介紹
Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。
Nacos 幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺。 Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu) (例如微服務(wù)范式、云原生范式) 的服務(wù)基礎(chǔ)設(shè)施。
以上是從nacos官網(wǎng)摘抄下來的,總結(jié)一下nacos有以下有點(diǎn)幾個(gè)優(yōu)點(diǎn):
(1)它支持配置中心管理(含圖形化界面)
(2)部署交付簡單
(3)包含注冊中心,不用獨(dú)自搭建配置和注冊中心。
(4)完美集成spring cloud和dubbo拓展性好
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)解壓,啟動(dòng)nacos
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz cd nacos/bin sh startup.sh -m standalone
完成,集群高可用請自行研究,本文不過多贅述。
nacos實(shí)現(xiàn)配置中心
springcloud使用nacos作為配置中心特別簡單。只需要添加依賴,使用bootstrap配置注冊中心地址即可。
(1)添加nacos的配置中心依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
(2)配置bootstrap.properties文件
#配置服務(wù)的名字 spring.application.name=provider-service #nacos配置中心的地址 spring.cloud.nacos.config.server-addr=nacos.ailijie.top #nacos配置的編碼方式 spring.cloud.nacos.config.encode=utf-8 #配置組名子,需要在nacos的配置設(shè)置,不然找不到 spring.cloud.nacos.config.group=PROVIDER_GROUP #配置后綴,properties不需要 spring.cloud.nacos.config.file-extension=yml #加載nacos多個(gè)配置文件 spring.cloud.nacos.config.shared-dataids=provider-service.properties,test.properties #刷新加載的其他環(huán)境 spring.cloud.nacos.config.refreshable-dataids=provider-service.properties,test.properties
(3)簡單介紹一下,使用nacos配置中心,客戶端會(huì)定時(shí)心跳拉去配置,環(huán)境變量會(huì)動(dòng)態(tài)刷新,但是在bean中需要使用 @RefreshCode注解去刷新,不然不生效。數(shù)據(jù)庫配置可以自定義數(shù)據(jù)源。加載其他配置文件的話,需要使用refres-dataids去刷新環(huán)境。
nacos實(shí)現(xiàn)注冊中心
同樣的,nacos實(shí)現(xiàn)注冊中心也是相當(dāng)?shù)暮唵危琻acos配置成功后,我們只需要添加依賴,注解,配置注冊中心地址即可。
(1)添加依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
(2)在啟動(dòng)類上添加@EnableDiscoveryClient 注解
(3)配置注冊中心地址
#配置服務(wù)名字 spring.application.name=xxx-service #配置服務(wù)集群名字 spring.cloud.nacos.discovery.cluster-name=consumer-service #配置注冊中心地址 spring.cloud.nacos.discovery.server-addr=nacos.ailijie.top
完成,就是這樣簡單。
nacos采坑心得
下面是我遇到的一些問題:
(1)使用版本管理,學(xué)習(xí)新項(xiàng)目我們首先需要了解版本兼容特性,不然會(huì)出現(xiàn)很多問題。
(2)配置不生效,沒有使用@RefreshCode注解刷新配置
(3)分清注冊中心和配置中心是兩個(gè)概念,需要配置兩個(gè)地址
(4)學(xué)會(huì)看源碼,看維基。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringCloud中的Eureka注冊中心詳細(xì)解讀
- springcloud本地服務(wù)不注冊到注冊中心的解決方案
- SpringCloud zookeeper作為注冊中心使用介紹
- SpringCloud注冊中心之consul詳細(xì)講解使用方法
- SpringCloud?Eureka服務(wù)注冊中心應(yīng)用入門詳解
- SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊中心的方法
- Java之SpringCloud nocos注冊中心講解
- 淺析SpringCloud Alibaba-Nacos 作為注冊中心示例代碼
- springcloud實(shí)現(xiàn)注冊中心Eureka
- SpringCloud兩種注冊中心的實(shí)現(xiàn)
相關(guān)文章
Spring MVC+FastJson+Swagger集成的完整實(shí)例教程
這篇文章主要給大家分享介紹了關(guān)于Spring MVC+FastJson+Swagger集成的完整實(shí)例教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04Java實(shí)現(xiàn)讀取163郵箱,qq郵箱的郵件內(nèi)容
這篇文章主要利用Java語言實(shí)現(xiàn)讀取163郵箱和qq郵箱的郵件內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-02-02Java 反射獲取類詳細(xì)信息的常用方法總結(jié)
Java 反射獲取類詳細(xì)信息的常用方法總結(jié),需要的朋友可以參考一下2013-03-03spring?boot對敏感信息進(jìn)行加解密的項(xiàng)目實(shí)現(xiàn)
本文主要介紹了spring?boot對敏感信息進(jìn)行加解密的項(xiàng)目實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04java?stream使用指南之sorted使用及進(jìn)階方式
這篇文章主要介紹了java?stream使用指南之sorted使用及進(jìn)階方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05