架構圖
下載安裝
mkdir /opt/nacos_cluster
wget https://github.com/alibaba/nacos/releases/download/1.4.2/nacos-server-1.4.2.tar.gz
# 重複三次
tar -zxvf nacos-server-1.4.2.tar.gz
mv nacos /opt/nacos_cluster/nacos_8849
單機搭建偽叢集,複製 nacos 安裝包,修改為 nacos_8849,nacos_8850,nacos_8851
以nacos_8849為例
1、修改 conf\application.properties的配置,使用外接資料來源
# 使用外接 mysql 資料來源
spring.datasource.platform=mysql
# Count of DB:
db.num=1
# Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos
2、將conf\cluster.conf.example 複製一份 cluster.conf 新增節點
#it is ip
#example
192.168.33.10:8849
192.168.33.10:8850
192.168.33.10:8851
3、建立資料庫
使用nacos-mysql.sql
4、如果出現記憶體不足
修改啟動指令碼 (bin\startup.sh) 的 jvm 引數
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
5、啟動測試
$ sh bin/startup.sh
$ vim logs/start.log
啟動成功
訪問 192.168.33.62:8849/nacos
,可以正常訪問,啟動成功。可以看到叢集的節點暫時只啟動了一個。
5、配置 nginx
$ sudo apt update
$ sudo apt install nginx
# centos 配置
yum install -y yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
# 安裝 openresty
sudo apt install openresty
6、反向代理
upstream nacoscluster {
server 127.0.0.1:8849;
server 127.0.0.1:8850;
server 127.0.0.1:8851;
}
server {
listen 8847;
server_name localhost;
location /nacos/ {
proxy_pass http://nacoscluster/nacos/;
}
}
如果配置 nginx 遇到問題,可以參考這篇文章
Nginx 常見問題解決
Nacos 叢集的坑
微服務無法註冊到 Nacos
在 Nacos 叢集搭建完後,將微服務註冊到 Nacos 上,發現無法註冊上。
紅色的配置是自己配置的 Nacos 的節點,但是在服務啟動的時候,Nacos 預設新增上了一個節點,服務無法註冊到 Nacos。主要是因為原先的192.168.33.62
的流量被髮送到了192.168.33.154
上
需要在 application.properties
新增服務的ip地址
本作品採用《CC 協議》,轉載必須註明作者和本文連結