Nginx四層負載均衡概述

2022-04-29 08:36:10 字數 2750 閱讀 6621

目錄nginx如何配置四層負載均衡

nginx四層負載均衡埠**

四層負載均衡是基於傳輸層協議包來封裝的(如:tcp/ip),那我們前面使用到的七層是指的應用層,他的組裝在四層的基礎之上,無論四層還是七層都是指的osi網路模型。

1、四層+七層來做負載均衡,四層可以保證七層的負載均衡的高可用性;如:nginx就無法保證自己的服務高可用,需要依賴lvs或者keepalive。

2、如:tcp協議的負載均衡,有些請求是tcp協議的(mysql、ssh),或者說這些請求只需要使用四層進行埠的**就可以了,所以使用四層負載均衡。

1、四層負載均衡僅能**tcp/ip協議、udp協議、通常用來**埠,如:tcp/22、udp/53;

2、四層負載均衡可以用來解決七層負載均衡埠限制問題;(七層負載均衡最大使用65535個埠號)

3、四層負載均衡可以解決七層負載均衡高可用問題;(多台後端七層負載均衡能同事的使用)

4、四層的**效率比七層的高得多,但僅支援tcp/ip協議,不支援http和https協議;

5、通常大併發場景通常會選擇使用在七層負載前面增加四層負載均衡。

1、通過訪問負載均衡的5555埠,實際是後端的web01的22埠在提供服務;

2、通過訪問負載均衡的6666埠,實際是後端的mysql的3306埠在提供服務。

先配置兩台lb負載均衡

[root@lb02 ~]# cat /etc/yum.repos.d/nginx.repo 

[nginx-stable]

name=nginx stable repo

baseurl=

gpgcheck=0

enabled=1

gpgkey=

#在lb02上安裝nginx

[root@lb02 yum.repos.d]# yum install -y nginx

#在lb02上同步lb01的所有nginx相關配置

[root@lb02 ~]# scp -r [email protected]:/etc/nginx /etc/

#啟動nginx

[root@lb02 conf.d]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@lb02 conf.d]# systemctl enable nginx

created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

[root@lb02 conf.d]# nginx

1.建立存放四層負載均衡配置檔案的目錄

2.配置四層負載均衡

[root@lb02 conf.c]# cat lb_domain.conf 

stream

server

}[root@web03 conf.c]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@web03 conf.c]# nginx -s reload

#配置本機hosts解析後瀏覽器訪問並檢視nginx日誌

3.四層負載均衡開啟日誌

#四層負載均衡是沒有access的日誌的,因為在nginx.conf的配置中,access的日誌格式是配置在http下的,而四層複雜均衡配置實在http以外的;

#如果需要日誌則需要配置在stream下面

[root@lb01 conf.c]# cat lb_domain.conf

stream

server

}

1.使用nginx四層負載均衡實現tcp的**

請求負載均衡 5555    --->     172.16.1.7:22;

請求負載均衡 6666 ---> 172.16.1.51:3306;

2.配置nginx四層負載均衡實現tcp的**

[root@lb4-01 ~]# cat /etc/nginx/conf.c/lb_domain.conf 

stream

#定義**mysql的3306埠

upstream mysql_51

server

server

}

Nginx 四層負載均衡

目錄四層負載均衡是基於ip 埠的負載均衡,七層負載均衡是基於url或主機名等應用層資訊的負載均衡。其他層負載均衡 載 二層負載均衡 mac 一般是用虛擬mac位址方式,外部對虛擬的mac位址請求,負載均衡接收後分配後端真實的mac位址響應。三層負載均衡 ip 一般採用虛擬ip位址方式,外部對虛擬的i...

Nginx 四層負載均衡配置

nginx1.9之後,開始支援四層負載均衡,需要引入額外的模組 測試環境 centos7 nginx1.9開始支援tcp層的 通過stream實現的,而socket也是基於tcp通訊。wget 作用 實現反向 負載負載庫wget tar zxvf master nginx 支援tcp 和負載均衡的支...

個人筆記nginx 四層負載均衡

1.什麼是負載均衡 基於傳輸層 協議包來封裝的 tcp ip 七層負載均衡是 應用層協議,他組裝在四層 負載均衡基礎之上,無論是四層負載均衡還是 七層負載均衡 都指的是 osi 網路模型。傳輸層 tcp udp協議 埠 基於 ip port的負載均衡 ssh 22 mysql 3306 redis ...