怎么使用Nacos作為配置中心,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
十余年的湖里網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整湖里建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“湖里網(wǎng)站設(shè)計”,“湖里網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
我們已經(jīng)學(xué)會了,如何利用Nacos實現(xiàn)服務(wù)的注冊與發(fā)現(xiàn)。同時,也介紹了在Spring Cloud中,我們可以使用的幾種不同編碼風(fēng)格的服務(wù)消費方式。接下來,我們再來學(xué)習(xí)一下Nacos的另外一個重要能力:配置管理。
Nacos除了實現(xiàn)了服務(wù)的注冊發(fā)現(xiàn)之外,還將配置中心功能整合在了一起。通過Nacos的配置管理功能,我們可以將整個架構(gòu)體系內(nèi)的所有配置都集中在Nacos中存儲。這樣做的好處,在以往的教程中介紹Spring Cloud Config時也有提到,主要有以下幾點:
分離的多環(huán)境配置,可以更靈活的管理權(quán)限,安全性更高
應(yīng)用程序的打包更為純粹,以實現(xiàn)一次打包,多處運行的特點
Nacos的配置管理模型與淘寶開源的配置中心Diamond類似,基礎(chǔ)層面都通過DataId
和Group
來定位配置內(nèi)容,除此之外還增加了很多其他的管理功能。
下面我們通過一個簡單的例子來介紹如何在Nacos中創(chuàng)建配置內(nèi)容以及如何在Spring Cloud應(yīng)用中加載Nacos的配置信息。
第一步:進入Nacos的控制頁面,在配置列表功能頁面中,點擊右上角的“+”按鈕,進入“新建配置”頁面,如下圖填寫內(nèi)容:
其中:
Data ID
:填入alibaba-nacos-config-client.properties
Group
:不修改,使用默認(rèn)值DEFAULT_GROUP
配置格式
:選擇Properties
配置內(nèi)容
:應(yīng)用要加載的配置內(nèi)容,這里僅作為示例,做簡單配置,比如:didispace.title=spring-cloud-alibaba-learning
第一步:創(chuàng)建一個Spring Boot應(yīng)用,可以命名為:alibaba-nacos-config-client
。
第二步:編輯pom.xml
,加入必要的依賴配置,比如:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>0.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.2</version> <optional>true</optional> </dependency> </dependencies> |
上述內(nèi)容主要三部分:
parent
:定義spring boot的版本
dependencyManagement
:spring cloud的版本以及spring cloud alibaba的版本,由于spring cloud alibaba還未納入spring cloud的主版本管理中,所以需要自己加入
dependencies
:當(dāng)前應(yīng)用要使用的依賴內(nèi)容。這里主要新加入了Nacos的配置客戶端模塊:spring-cloud-starter-alibaba-nacos-config
。由于在dependencyManagement
中已經(jīng)引入了版本,所以這里就不用指定具體版本了。
可以看到,這個例子中并沒有加入nacos的服務(wù)發(fā)現(xiàn)模塊,所以這兩個內(nèi)容是完全可以獨立使用的
第三步:創(chuàng)建應(yīng)用主類,并實現(xiàn)一個HTTP接口:
@SpringBootApplication public class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } @Slf4j @RestController @RefreshScope static class TestController { @Value("${didispace.title:}") private String title; @GetMapping("/test") public String hello() { return title; } } } |
內(nèi)容非常簡單,@SpringBootApplication
定義是個Spring Boot應(yīng)用;還定義了一個Controller,其中通過@Value
注解,注入了key為didispace.title
的配置(默認(rèn)為空字符串),這個配置會通過/test
接口返回,后續(xù)我們會通過這個接口來驗證Nacos中配置的加載。另外,這里還有一個比較重要的注解@RefreshScope
,主要用來讓這個類下的配置內(nèi)容支持動態(tài)刷新,也就是當(dāng)我們的應(yīng)用啟動之后,修改了Nacos中的配置內(nèi)容之后,這里也會馬上生效。
第四步:創(chuàng)建配置文件bootstrap.properties
,并配置服務(wù)名稱和Nacos地址
spring.application.name=alibaba-nacos-config-client server.port=8001 spring.cloud.nacos.config.server-addr=127.0.0.1:8848 |
注意:這里必須使用
bootstrap.properties
。同時,spring.application.name
值必須與上一階段Nacos中創(chuàng)建的配置Data Id匹配(除了.properties或者.yaml后綴)。
第五步:啟動上面創(chuàng)建的應(yīng)用。
在啟動的時候,我們可以看到類似上面的日志信息,這里會輸出應(yīng)用程序要從Nacos中獲取配置的dataId和group。如果在啟動之后,發(fā)現(xiàn)配置信息沒有獲取到的時候,可以先從這里著手,看看配置加載的目標(biāo)是否正確。
第六步:驗證配置獲取和驗證動態(tài)刷新
用curl或者postman等工具,訪問接口: localhost:8001/test
,一切正常的話,將返回Nacos中配置的spring-cloud-alibaba-learning
。然后,再通過Nacos頁面,修改這個內(nèi)容,點擊發(fā)布之后,再訪問接口,可以看到返回結(jié)果變了。
看完上述內(nèi)容,你們掌握怎么使用Nacos作為配置中心的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁題目:怎么使用Nacos作為配置中心
當(dāng)前鏈接:http://www.rwnh.cn/article30/jgpjso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站策劃、靜態(tài)網(wǎng)站、建站公司、App設(shè)計、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)