文章目錄
- 1、叢集
- 2、叢集搭建注意事項
- 3、叢集規劃
- 4、搭建nacos叢集
-
- 4.1 準備3個nacos節點,并連接配接mysql資料庫
- 4.2 重新初始化mysql資料
- 4.3 修改nacos conf目錄中cluster.conf檔案添加所有叢集節點
- 4.4 修改nacos各自端口号
- 4.5 啟動三台nacos節點
- 4.6 測試叢集是否搭建成功
- 5、Nacos+Nginx叢集模式
-
- 5.1 安裝必要依賴:
- 5.2 下載下傳Nginx
- 5.3 将nginx上傳到linux中,并解壓縮
- 5.4 檢視nginx安裝目錄
- 5.5 在Nginx安裝目錄中執行如下指令:(指定安裝位置)
- 5.6 執行上述指令後,再執行如下指令
- 5.7 配置nginx conf配置檔案
- 5.8 啟動nginx進行測試
1、叢集
Nacos單擊模式僅僅适用于測試和單擊使用,生産環境大多使用叢集模式以確定高可用。如果有多資料中心場景,那麼Nacos還支援多叢集模式。
nacos叢集架構圖如下:
是以開源的時候推薦使用者把所有服務清單放到一個vip下面,然後挂到一個域名下面
http://ip1:port/openAPI 直連ip模式,機器挂則需要修改ip才可以使用。
http://SLB:port/openAPI 挂載SLB模式(内網SLB,不可暴露到公網,以免帶來安全風險),直連SLB即可,下面挂server真實ip,可讀性不好。
http://nacos.com:port/openAPI 域名 + SLB模式(内網SLB,不可暴露到公網,以免帶來安全風險),可讀性好,而且換ip友善,推薦模式
2、叢集搭建注意事項
- 3個或3個以上nacos節點才能構成叢集。
- 要求虛拟機記憶體配置設定必須大于3G以上。
- 資料持久化必須配置為mysql持久化
3、叢集規劃
node cluster:
192.168.159.22 8845 nacos01
192.168.159.22 8846 nacos02
192.168.159.22 8847 nacos03
192.168.159.22 9090 nginx
192.168.159.22 3306 mysql
4、搭建nacos叢集
4.1 準備3個nacos節點,并連接配接mysql資料庫
将nacos安裝包複制三份:
4.2 重新初始化mysql資料
4.3 修改nacos conf目錄中cluster.conf檔案添加所有叢集節點
第一台:
第二台:
第三台:
4.4 修改nacos各自端口号
4.5 啟動三台nacos節點
4.6 測試叢集是否搭建成功
在微服務中向8845端口注冊,若其他兩個nacos節點也注冊了該服務,則證明叢集搭建成功
啟動服務之後,檢視三台節點:
192.168.159.22:8845
192.168.159.22:8846
192.168.159.22:8847
可以看到,該服務也在另外兩台節點中注冊了,證明nacos叢集搭建成功。
5、Nacos+Nginx叢集模式
5.1 安裝必要依賴:
yum install -y gcc pcre-devel zlib-devel
5.2 下載下傳Nginx
http://nginx.org/en/download.html
5.3 将nginx上傳到linux中,并解壓縮
tar -zxvf nginx-1.11.1.tar.gz
5.4 檢視nginx安裝目錄
5.5 在Nginx安裝目錄中執行如下指令:(指定安裝位置)
./configure --prefix=/opt/nginx
5.6 執行上述指令後,再執行如下指令
make && make install
5.7 配置nginx conf配置檔案
加入如下配置:
upstream nacos-servers {
server 192.168.159.22:8845;
server 192.168.159.22:8846;
server 192.168.159.22:8847;
}
修改(将原來的location注釋掉)
location / {
proxy_pass http://nacos-servers/;
}
5.8 啟動nginx進行測試
以配置方式進行啟動,/opt/nginx是Nginx的安裝目錄。
./nginx -c /opt/nginx/conf/nginx.conf
這時測試的微服務直接寫nginx位址即可:
server.port=8999
spring.application.name=NACOSCLIENT
#nacos server 總位址 寫nginx位址 預設80端口(開發中寫域名)
spring.cloud.nacos.server-addr=192.168.159.22:80
#作為nacos client注冊位址
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr}
#指定向nacos server注冊的服務名稱
spring.cloud.nacos.discovery.service=${spring.application.name}
通路
192.168.159.22:80/nacos
,之後負載均衡會自動幫我們請求到nacos叢集的其中一個節點,可看到服務也已經注冊成功了。就是你直接單獨通路三台nacos節點,都能看到剛注冊的服務。