Nacos 是阿里開源的注冊中心 + 配置中心服務(wù)。
安裝
預(yù)先配置好JAVA_HOME
下載指定版本
#下載
wget https://github.com//alibaba/nacos/releases/download/1.4.1/nacos-server-1.4.1.tar.gz
#解壓
tar -xvf nacos-server-$version.tar.gz
配置數(shù)據(jù)庫
在0.7版本之前,在單機(jī)模式時nacos使用嵌入式數(shù)據(jù)庫(derby)實現(xiàn)數(shù)據(jù)的存儲俏拱,不方便觀察數(shù)據(jù)存儲的基本情況。
0.7版本增加了支持mysql數(shù)據(jù)源能力,所以只要使用0.7及以上版本的nacos,便可以==配置mysql數(shù)據(jù)庫,方便查看和維護(hù)數(shù)據(jù)==逻炊。
若無需要,可以跳過配置犁享。
初始化數(shù)據(jù)庫:在 conf 目錄下余素,提供了 MySQL 數(shù)據(jù)庫初始化腳本 nacos-mysql.sql。在mysql中創(chuàng)建一個庫炊昆,并使用該腳本初始化桨吊。
配置數(shù)據(jù)庫連接:修改 conf/application.properties 配置文件,在尾部額外增加 MySQL 數(shù)據(jù)庫配置如下:
#集群配置時凤巨,改為不同的端口號
#server.port: 8848
# 數(shù)據(jù)源為 MySQL
spring.datasource.platform=mysql
# 數(shù)據(jù)源的數(shù)量视乐。mysql集群為多個
db.num=1
# 第 0 個數(shù)據(jù)源的配置
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos-example?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
# 第 1 個數(shù)據(jù)源的配置
#db.url.1=jdbc:mysql://127.0.0.1:3306/nacos-example?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
# 數(shù)據(jù)庫的賬號密碼
db.user=root
db.password=
集群配置(單機(jī)配置的跳過)
復(fù)制多個nacos解壓文件,將其中application.properties修改為不同的ip
創(chuàng)建數(shù)據(jù)庫配置
創(chuàng)建文件cluster.conf敢茁,配置一個 Nacos 集群的所有節(jié)點(diǎn)(不要使用127.0.0.1配置佑淀,因為 Nacos 獲取的是外部 IP)
# ip:port
192.168.1.11:18848
192.168.1.11:28848
192.168.1.11:38848
更新驅(qū)動
使用mysql8,Nacos需要安裝最新jdbc驅(qū)動
# 創(chuàng)建插件目錄
$ mkdir -p plugins/mysql
# 下載 MySQL 8.X JDBC 驅(qū)動
$ cd plugins/mysql
$ wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.19/mysql-connector-java-8.0.19.jar
啟動卷要、停止
cd nacos/bin
#單機(jī)啟動渣聚,啟動完成后,可以查看啟動日志 logs/start.out僧叉。
sh startup.sh -m standalone
#停止服務(wù)
sh shutdown.sh
網(wǎng)頁訪問
http://127.0.0.1:8848/nacos
帳號:nacos
密碼:nacos
curl操作
服務(wù)注冊
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
服務(wù)發(fā)現(xiàn)
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'
發(fā)布配置
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
獲取配置
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"