高性能網(wǎng)站建設(shè)指南 書seo搜索引擎優(yōu)化平臺
資料來源:02-Nacos配置管理-什么是配置中心_嗶哩嗶哩_bilibili
nacos記得下載2.x版本的,負責(zé)以后新建配置的時候會出現(xiàn)“發(fā)布錯誤,請檢查參數(shù)是否正確”錯誤!!!!
目錄
一、Nacos簡介
1.1? 四大功能:
1.2? ?對比
二、配置中心
2.1 什么是配置
? 2.1.1 特點?
2.2 什么是配置中心
三、Nacos Server安裝
3.1 文件下載
3.2 啟動服務(wù)器(Windos方式)
3.3? OPEN API 配置管理測試
?3.3.1? curl工具安裝
?3.3.2 發(fā)布配置
?3.3.3? ?獲取配置
?3.3.4? 關(guān)閉服務(wù)器(windows方式)
?3.3.5 外部MySQL數(shù)據(jù)庫支持
一、Nacos簡介
Nacos事阿里的一個開源產(chǎn)品,針對微服務(wù)架構(gòu)中的服務(wù)發(fā)現(xiàn)、配置管理、服務(wù)治理的綜合型解決方案。
1.1四大功能:
①服務(wù)發(fā)現(xiàn)與服務(wù)健康檢查
②動態(tài)配置管理
③動態(tài)DNS服務(wù)
1.2? ?對比
? ? ??從配置中心角度來看,性能方面Nacos的讀寫性能最高,Apollo次之,SpringCloudCon?g依賴Git場景不適合開放的大規(guī)模自動化運維API。功能方面Apollo最為完善,nacos具有Apollo大部分配置管理功能,而SpringCloud Con?g不帶運維管理界面,需要自行開發(fā)。Nacos的一大優(yōu)勢是整合了注冊中心、配置中心功能,部署和操作相比
二、配置中心
2.1 什么是配置
? 2.1.1 特點?
2.2 什么是配置中心


三、Nacos Server安裝
3.1 文件下載
Releases · alibaba/nacos (github.com)

?

3.2 啟動服務(wù)器(Windos方式)
? ?Nacos默認端口8848,所以我們要保證這個端口并沒有被其他進程占用。
?啟動命令:
cmd startup.cmd


?
假如我們雙擊之后出現(xiàn)cmd運行窗口閃退,可以參考下面這個人的文章,真的很棒
(34條消息) NACOS啟動閃退的情況_日出前的千夜的博客-CSDN博客_nacos啟動閃退
輸入地址回車后會出現(xiàn)下面這個網(wǎng)頁
? ? 默認用戶名:nacos? ? ?默認密碼:nacos? ?


3.3? OPEN API 配置管理測試
3.3.1? curl工具安裝


?3.3.2 發(fā)布配置
? ?仔細看,這是一個POST請求
curl -X?POST?"http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
將上面的命令再cmd窗口進行運行,如果成功的話會出現(xiàn)“true”字樣
此時出現(xiàn)true之后,我們再打開Nacos頁面,配置列表->查詢->就會出現(xiàn)下面這個配置,這個就是我們的配置信息
點擊右側(cè)詳情
下面這個頁面就會出現(xiàn)配置的內(nèi)容 這個配置的內(nèi)容,和我們剛剛所運行的指令相對應(yīng)
? ? 與“content=”之后的內(nèi)容對應(yīng)
3.3.3? ?獲取配置
?我們的電腦就是一個客戶端,我們要從nacos中獲取數(shù)據(jù)
curl?-X?GET?"http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
我們發(fā)布配置的時候指定了一個dataId、group、content
所以我們在獲取配置的時候要指定dataId、group,此時我們便可以獲取到content的內(nèi)容,如下圖所示
3.3.4? 關(guān)閉服務(wù)器(windows方式)
cmd?shutdown.cmd
或者有個更直接的方式就是把窗口直接關(guān)掉
或者雙擊shutdown.cmd運行文件
3.3.5 改成外部MySQL數(shù)據(jù)庫支持
如下圖所示,nacos中會有一些數(shù)據(jù),單機模式時nacos默認使用嵌入式數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的存儲,
? ? ? MySQL和SQL Server這些數(shù)據(jù)庫屬于數(shù)據(jù)庫服務(wù)器
? ? ? SQLite、Berkeley DB等屬于嵌入式數(shù)據(jù)庫
? ? ? 嵌入式數(shù)據(jù)庫跟數(shù)據(jù)庫服務(wù)器最大的區(qū)別在于它們運行的地址空間不同。
? ? ? 通常,數(shù)據(jù)庫服務(wù)器獨立地運行一個守護進程(daemon),而嵌入式數(shù)據(jù)庫與應(yīng)用程序運行在同一個進程。

?
下面就是nacos所需要的表
?將下段語句復(fù)制到上面的文件當中
?spring.datasource.platform=mysqldb.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow
?如果上面這個語句不行的話,我們可以使用下面這個,比上面的配置多了一個時區(qū)serverTimezone=UTC,除此之外我也把數(shù)據(jù)庫名改成nacos了,這個文件和MySQL中的數(shù)據(jù)庫都改,因為我是用上面的那個時候一直給我報錯“com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'nacos_config'”,但是我修改之后發(fā)現(xiàn)沒有了這個問題,至于什么原因我也不太清楚
spring.datasource.platform=mysqldb.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&serverTimezone=UTC&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
127.0.0.1:3306 因為在我本機上,所以是127.0.0.1,MySQL的端口號3306
? nacos_config? ? ? ? ?表示數(shù)據(jù)庫名(我后來改成了? nacos)
? ?db.user 、db.password? ? ?表示數(shù)據(jù)庫的用戶名和密碼??
重新啟動nacos
?重新進入到網(wǎng)頁,發(fā)現(xiàn)沒有數(shù)據(jù),因為我們數(shù)據(jù)庫中是一個空表,所示沒有數(shù)據(jù),這是正常的