spring cloud alibaba之nacos之集羣部署(五)
1.集羣部署架構圖
阿里官網推薦,推薦用戶把所有服務列表放到一個vip下面,然後掛到一個域名下面
http://ip1:port/openAPI 直連ip模式,機器掛則需要修改ip纔可以使用。
http://VIP:port/openAPI 掛載VIP模式,直連vip即可,下面掛server真實ip,可讀性不好。
http://nacos.com:port/openAPI 域名 + VIP模式,可讀性好,而且換ip方便,推薦模式
掛載VIP與域名模式,較繁重,所以生產一般使用 Nginx做負載均衡。
2. 準備環境
2.1 三個虛擬機
192.168.181.131
192.168.181.132
192.168.181.133
3 .在虛擬機上分別部署集羣版本的nacos-server。
3.1 運行nacos-server之前需要在虛擬機上安裝JDK.
3.2 運行nacos-server需要配置Mysql數據源,保證naocs數據持久化,推薦主備模式,保證數據高可用。修改方式見上篇文章 數據持久化
3.3 修改nacos/conf/cluster.conf.example爲 cluster.conf
內容爲:
3.4 然後分別啓動nacos-server
sh /usr/local/nacos/bin/startup.sh //啓動集羣模式
tail -f /usr/local/nacos/logs/start.out //查看日誌
此圖,表示單個節點啓動成功。
三個節點分別啓動成功之後,訪問其中一個虛擬機nacos的訪問頁面,可以看見集羣節點列表。
可以,集羣節點全部啓動成功。
節點狀態:LEADER:主 FLOWER:備
集羣任期:節點競爭LEADER的選舉票數,要是132掛了,131與133會重新選舉哪個節點做主節點
4.啓動Nginx
修改nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
upstream nacosserver{
server 192.168.181.131:8848;
server 192.168.181.132:8848;
server 192.168.181.133:8848;
}
server {
listen 8848;
server_name 127.0.0.1;
location / {
proxy_pass http://nacosserver;
}
}
}
5.服務提供者註冊nacos地址配置
6.服務消費者註冊消費nacos的地址配置
7.測試
7.1 爲測試集羣環境,把服務提供者service-order打成了三個jar(修改端口),分別在本機啓動,可以預見,會在服務列表註冊三個order的服務 節點。
7.2 消費者service-user啓動一個。
查看消費列表:user訂閱了order
7.3 訪問user的接口(getOrderById)。
可見,每次訪問展示的端口爲不同節點的端口號,所以,每次訪問都訪問了不同的節點,可以服務節點的集羣搭建成功,nacos-servier的集羣也搭建成功了。