Nacos介紹
官方介紹 https://nacos.io
Nacos 致力于幫助您發(fā)現(xiàn)疚鲤、配置和管理微服務(wù)雹有。Nacos 提供了一組簡(jiǎn)單易用的特性集倒槐,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)泌霍、服務(wù)配置鹅心、服務(wù)元數(shù)據(jù)及流量管理铅鲤。
Nacos 幫助您更敏捷和容易地構(gòu)建阻荒、交付和管理微服務(wù)平臺(tái)金吗。 Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu) (例如微服務(wù)范式懒构、云原生范式) 的服務(wù)基礎(chǔ)設(shè)施餐济。
Nacos 的關(guān)鍵特性包括:
-
服務(wù)發(fā)現(xiàn)和服務(wù)健康監(jiān)測(cè)
Nacos 支持基于 DNS 和基于 RPC 的服務(wù)發(fā)現(xiàn)。服務(wù)提供者使用 原生SDK胆剧、OpenAPI絮姆、或一個(gè)獨(dú)立的Agent TODO注冊(cè) Service 后,服務(wù)消費(fèi)者可以使用[DNS TODO]或[HTTP&API查找和發(fā)現(xiàn)服務(wù)秩霍。
Nacos 提供對(duì)服務(wù)的實(shí)時(shí)的健康檢查篙悯,阻止向不健康的主機(jī)或服務(wù)實(shí)例發(fā)送請(qǐng)求。Nacos 支持傳輸層 (PING 或 TCP)和應(yīng)用層 (如 HTTP铃绒、MySQL鸽照、用戶自定義)的健康檢查。 對(duì)于復(fù)雜的云環(huán)境和網(wǎng)絡(luò)拓?fù)洵h(huán)境中(如 VPC颠悬、邊緣網(wǎng)絡(luò)等)服務(wù)的健康檢查矮燎,Nacos 提供了 agent 上報(bào)模式和服務(wù)端主動(dòng)檢測(cè)2種健康檢查模式。Nacos 還提供了統(tǒng)一的健康檢查儀表盤赔癌,幫助您根據(jù)健康狀態(tài)管理服務(wù)的可用性及流量诞外。 -
動(dòng)態(tài)配置服務(wù)
動(dòng)態(tài)配置服務(wù)可以讓您以中心化、外部化和動(dòng)態(tài)化的方式管理所有環(huán)境的應(yīng)用配置和服務(wù)配置灾票。
動(dòng)態(tài)配置消除了配置變更時(shí)重新部署應(yīng)用和服務(wù)的需要峡谊,讓配置管理變得更加高效和敏捷。
配置中心化管理讓實(shí)現(xiàn)無(wú)狀態(tài)服務(wù)變得更簡(jiǎn)單,讓服務(wù)按需彈性擴(kuò)展變得更容易既们。
Nacos 提供了一個(gè)簡(jiǎn)潔易用的UI 幫助您管理所有的服務(wù)和應(yīng)用的配置濒析。Nacos 還提供包括配置版本跟蹤、金絲雀發(fā)布啥纸、一鍵回滾配置以及客戶端配置更新狀態(tài)跟蹤在內(nèi)的一系列開箱即用的配置管理特性悼枢,幫助您更安全地在生產(chǎn)環(huán)境中管理配置變更和降低配置變更帶來(lái)的風(fēng)險(xiǎn)。 -
動(dòng)態(tài) DNS 服務(wù)
動(dòng)態(tài) DNS 服務(wù)支持權(quán)重路由脾拆,讓您更容易地實(shí)現(xiàn)中間層負(fù)載均衡馒索、更靈活的路由策略、流量控制以及數(shù)據(jù)中心內(nèi)網(wǎng)的簡(jiǎn)單DNS解析服務(wù)名船。動(dòng)態(tài)DNS服務(wù)還能讓您更容易地實(shí)現(xiàn)以 DNS 協(xié)議為基礎(chǔ)的服務(wù)發(fā)現(xiàn)绰上,以幫助您消除耦合到廠商私有服務(wù)發(fā)現(xiàn) API 上的風(fēng)險(xiǎn)。
-
服務(wù)及其元數(shù)據(jù)管理
Nacos 能讓您從微服務(wù)平臺(tái)建設(shè)的視角管理數(shù)據(jù)中心的所有服務(wù)及元數(shù)據(jù)渠驼,包括管理服務(wù)的描述蜈块、生命周期、服務(wù)的靜態(tài)依賴分析迷扇、服務(wù)的健康狀態(tài)百揭、服務(wù)的流量管理、路由及安全策略蜓席、服務(wù)的 SLA 以及最首要的 metrics 統(tǒng)計(jì)數(shù)據(jù)器一。
總結(jié)
Nacos 對(duì)標(biāo)的產(chǎn)品是 Eureka (類似的還有ZooKeeper,Consul)
個(gè)人感覺相對(duì)于eureka來(lái)說Nacos 有以下幾個(gè)方面
-
1.更友好的UI 管理界面(這一點(diǎn)非常重要)
- 活躍的社區(qū) 完善的中文文檔
- 相對(duì)于閉源的Eureka來(lái)說優(yōu)勢(shì)很大
- 4.集合了配置中心的功能,支配置持久化
安裝使用記錄
目前最新的版本是1.2.1
本文使用的是 1.2.0 nacos-server-1.2.0.tar.gz
下載路徑 https://github.com/alibaba/nacos/releases
1.單機(jī)版本安裝
下載
wget https://github.com/alibaba/nacos/releases/download/1.2.0/nacos-server-1.2.0.tar.gz
解壓
tar -xvf nacos-server-1.2.0.tar.gz
單機(jī)模式啟動(dòng)
sh startup.sh -m standalone
集群模式啟動(dòng)(需要添加配置 不然啟動(dòng)會(huì)報(bào)錯(cuò) 找不到集群配置文件)
sh startup.sh
關(guān)閉
sh shutdown.sh
訪問地址
http://IP:8848/nacos/ 即可
2.數(shù)據(jù)持久化
Nacos默認(rèn)數(shù)據(jù)是存在本地文件的,當(dāng)然他也支持?jǐn)?shù)據(jù)持久化厨内,目前只支持Mysql并且版本必須是5.6以上
建議大家一開始就配置好持久化祈秕,不然當(dāng)你修改數(shù)據(jù)存儲(chǔ)方式后之前的配置信息將會(huì)丟失,其實(shí)也不是丟失,數(shù)據(jù)還在存在的雏胃,但是你需要重新配置一次
修改使用數(shù)據(jù)庫(kù)存放配置信息的方式如下
數(shù)據(jù)庫(kù)腳本存放路徑请毛, 我們需要下載該腳本,創(chuàng)建數(shù)據(jù)庫(kù)nacos(名稱你可以自定義)瞭亮,導(dǎo)入腳本
\nacos\conf\nacos-mysql.sql
編輯 配置文件
vi nacos/conf/application.properties
#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
# db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://Ip:3306/nacos? characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
修改成自己的數(shù)據(jù)庫(kù)連接地址即可