天天看點

Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

Nacos叢集搭建 MYSQL+Nacos+Nginx

  • 前言:
  • 一.搭建Nacos叢集
  • 二.利用Nginx實作Nacos叢集高可用
    • 1.安裝Nginx
    • 2.修改配置檔案
    • 3.測試
由于Nacos是服務注冊中心和統一配置中心,生産開發中為了保障高可用性,得搭建Nacos叢集

叢集解決問題:

1.并發通路壓力

2.單節點故障問題

Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

注意:

a.3個或3個以上Nacos節點才能構成叢集。

b.要求虛拟機記憶體配置設定必須大于3G以上

c.搭建Nacos時,需要清空data目錄中的資料,

d.如果持久化到mysql,需要重新加載nacos-mysql.sql檔案,資料庫中不能存在原始資料

1.拷貝3份Nacos目錄修改端口來模拟3台Nacos服務

cp  -r nacos naco1
 cp  -r nacos naco2
 cp  -r nacos naco3
      
Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

2.修改conf/application.properties端口号分别為8845,8846,8847

vim nacos1/conf/application.properties 	8845
vim nacos2/conf/application.properties 	8846
vim nacos3/conf/application.properties 	8847
      

3.所有叢集節點修改conf目錄中cluster.conf檔案

需要在cluster.conf中添加所有節點的ip位址

Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

注意:confi中預設是cluster.conf.exampl需要改為cluster.conf

mv cluster.conf.example  cluster.conf
[root@JWCoder nacos1] cp conf/cluster.conf ../nacos2/conf/cluster.conf
[root@JWCoder nacos1] cp conf/cluster.conf ../nacos3/conf/cluster.conf
      

4.以叢集方式啟動

[root@JWCoder nacos] nacos1/bin/startup.sh
[root@JWCoder nacos] nacos2/bin/startup.sh
[root@JWCoder nacos] nacos3/bin/startup.sh
[root@JWCoder nacos] jps
2802 nacos-server.jar
2739 nacos-server.jar
2857 nacos-server.jar
2878 Jps
      

發現成功通路!!

Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

檢視叢集清單發現三個節點狀态正常!!

Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

嘗試用微服務注冊到其中一個節點,觀察另外2個節點的服務注冊清單,發現都已成功注冊!

我們向8845端口進行注冊,發現8846和8847另外兩個節點,已經同步了資料

Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

此時我們還沒有實作高可用!!

server:
  port: 8081
spring:
  application:
    name: NACOS-CLIENT
  cloud:
    nacos:
      # 總位址
      server-addr: 192.168.142.129:8845
      

此時我們是注冊到8845這個nacos節點,server-addr: 192.168.142.129:8845,如果8845節點當機,8846和8847應該上來提供服務,顯然目前我們沒法辦到!!

由于我已經提前安裝了好了Nginx,大家自行安裝

啟動Nginx,預設端口時80

Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)
Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

關閉nginx

./nginx -s stop
 或者
 kill - 9 程序iD
      

2.修改nginx/conf/nginx.conf配置檔案

添加以下兩段配置

upstream  nacos-servers {
    	server 192.168.142.129:8845;
		server 192.168.142.129:8846;
		server 192.168.142.129:8847;
	}
	
	location / {
      proxy_pass http://nacos-servers/;
  	}
      
Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

啟動nginx(配置檔案)

[root@JWCoder sbin] ./nginx -c /usr/local/nginx/conf/nginx.conf
      

位址欄輸入位址192.168.142.129/nacos,此時nginx就會利用預設的複雜均衡政策為我們選取一個節點,發現成功通路!!

Nacos叢集搭建(MYSQL+Nacos+Nginx)(超詳細!!!)

繼續閱讀