人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實(shí)現(xiàn)示例

發(fā)布日期:2022-02-01 00:08 | 文章來源:源碼之家

高并發(fā)站點(diǎn)不僅要考慮網(wǎng)站后端服務(wù)的穩(wěn)定,還需要考慮服務(wù)能否接入巨大流量、承受巨大流量,如下圖:

1:流量接入,可以采用Lvs+Nginx集群,這種方式能接入的QPS能高達(dá)數(shù)百萬(wàn)

2:通過Lvs實(shí)現(xiàn)Nginx集群,Nginx+Tomcat實(shí)現(xiàn)后端服務(wù)集群,完成了從接入層流量處理到后端服務(wù)集群高并發(fā)處理

1. Lvs介紹

LVS(Linux Virtual Server),即Linux虛擬服務(wù)器。它用于多服務(wù)器的負(fù)載均衡,工作在網(wǎng)絡(luò)四層,可以實(shí)現(xiàn)高性能,高可用的服務(wù)器集群技術(shù),它穩(wěn)定可靠,即使在集群的服務(wù)器中某臺(tái)服務(wù)器無法正常工作,也不影響整體效果。是基于TCP/IP做的路由和轉(zhuǎn)發(fā),穩(wěn)定性和效率極高。

一個(gè)LVS集群往往包含以下角色:

1:DS:Director Server。虛擬服務(wù),負(fù)責(zé)調(diào)度

2:RS:Real Server。后端真實(shí)的工作服務(wù)器。

3:VIP:向外部直接面向用戶請(qǐng)求,作為用戶請(qǐng)求的目標(biāo)的IP地址

4:DIP:Director Server IP,DS的IP

5:RIP:Real Server IP,后端服務(wù)器的IP地址

6:CIP:Client IP,訪問客戶端的IP地址

2. Lvs 負(fù)載均衡模式

lvs提供了3種負(fù)載均衡模式,每種負(fù)載均衡模式適用的場(chǎng)景有差異,我們來講解一下這三種負(fù)載均衡模式。

2.1 NAT

用戶的請(qǐng)求到分發(fā)器后,通過預(yù)設(shè)的iptables規(guī)則,把請(qǐng)求的數(shù)據(jù)包轉(zhuǎn)發(fā)到后端的RS上去。RS需要設(shè)定網(wǎng)關(guān)為分發(fā)器的內(nèi)網(wǎng)IP。用戶請(qǐng)求的數(shù)據(jù)包和返回給用戶的數(shù)據(jù)包全部經(jīng)過分發(fā)器,所以分發(fā)器稱為瓶頸。在NAT模式中,只需要分發(fā)器有公網(wǎng)IP即可,所以比較節(jié)省公網(wǎng)IP資源。

2.2 TUN

這種模式需要有一個(gè)公共的IP配置在分發(fā)器和所有的RS上,我們把它叫做VIP??蛻舳苏?qǐng)求的目標(biāo)IP為VIP,分發(fā)器接收到請(qǐng)求數(shù)據(jù)包后,會(huì)對(duì)數(shù)據(jù)包做一個(gè)加工,會(huì)把目標(biāo)IP改為RS的IP,這樣數(shù)據(jù)包就到了RS上。RS接收數(shù)據(jù)包后,會(huì)還原原始數(shù)據(jù)包,這樣目標(biāo)IP為VIP,因?yàn)樗蠷S上配置了這個(gè)VIP,所以他會(huì)認(rèn)為是它自己。

2.3 DR模式

和IP Tunnel較為相似,不同的是,它會(huì)把數(shù)據(jù)包的MAC地址修改為RS的MAC地址。真實(shí)服務(wù)器將響應(yīng)直接返回給客戶。

這種方式?jīng)]有IP隧道的開銷,對(duì)集群中的真實(shí)服務(wù)期也沒有必須支持IP隧道協(xié)議的要求,但是要求調(diào)度器與真實(shí)服務(wù)器都有一塊網(wǎng)卡連在同一物理網(wǎng)段上。

3. Lvs DR模式配置

綜合上面分析,我們可以得出結(jié)論,DR模式性能效率比較高,安全性很高,因此一般公司都推薦使用DR模式。我們這里也配置DR模式實(shí)現(xiàn)Lvs+Nginx集群。

我們準(zhǔn)備了3臺(tái)機(jī)器:首先確保三臺(tái)機(jī)器都安裝了Nginx。

1:192.168.183.133	(DS)		192.168.183.150   對(duì)外提供服務(wù)
2:192.168.183.134	(RS)		192.168.183.150   真實(shí)服務(wù)處理業(yè)務(wù)流程 
3:192.168.183.135	(RS)		192.168.183.150   真實(shí)服務(wù)處理業(yè)務(wù)流程

VIP:192.168.183.150

3.1 Vip配置

關(guān)閉網(wǎng)絡(luò)配置管理器(每臺(tái)機(jī)器都要做)

systemctl stop NetworkManager
systemctl disable NetworkManager

配置虛擬IP(VIP 192.168.183.133中配置)

/etc/sysconfig/network-scripts創(chuàng)建文件ifcfg-ens33:1,內(nèi)容如下:

BOOTPROTO=static
DEVICE=ens33:1
ONBOOT=yes
IPADDR=192.168.183.150
NETMASK=255.255.255.0

重啟網(wǎng)絡(luò)服務(wù):

service network restart

我們可以看到在原來的網(wǎng)卡上面添加了一個(gè)虛擬IP 150。

同時(shí)需要對(duì)192.168.183.134、192.168.183.135構(gòu)建虛擬機(jī)IP,但只是用于返回?cái)?shù)據(jù),而不能被用戶訪問到,這時(shí)候需要操作ifcfg-lo

IPADDR=127.0.0.1,這里127.0.0.1屬于本地回環(huán)地址,不屬于任何一個(gè)有類別地址類。它代表設(shè)備的本地虛擬接口,所以默認(rèn)被看作是永遠(yuǎn)不會(huì)宕掉的接口。

NETMASK=255.255.255.255

192.168.183.134
ifcfg-lo拷貝一份ifcfg-lo:1,并修改ifcfg-lo:1配置,內(nèi)容如下:

刷新lo:

ifup lo

查看IP可以發(fā)現(xiàn)lo下多了150ip。

192.168.100.133知行和上面相同的操作。

3.2 LVS集群管理工具安裝

ipvsadm用于對(duì)lvs集群進(jìn)行管理,需要手動(dòng)安裝。DS安裝即可。

安裝命令:

yum install ipvsadm

版本查看:

ipvsadm -Ln

效果如下:

3.3 地址解析協(xié)議

192.168.183.134192.168.183.135中操作。

arp_ignore和arp_announce參數(shù)都和ARP協(xié)議相關(guān),主要用于控制系統(tǒng)返回arp響應(yīng)和發(fā)送arp請(qǐng)求時(shí)的動(dòng)作。這兩個(gè)參數(shù)很重要,特別是在LVS的DR場(chǎng)景下,它們的配置直接影響到DR轉(zhuǎn)發(fā)是否正常。

arp-ignore:arp_ignore參數(shù)的作用是控制系統(tǒng)在收到外部的arp請(qǐng)求時(shí),是否要返回arp響應(yīng)(0~8,2-8用的很少)

配置文件:/etc/sysctl.conf,將如下文件拷貝進(jìn)去:

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2

刷新配置:

sysctl -p

添加路由:此時(shí)如果無法識(shí)別route,需要安裝相關(guān)工具yum install net-tools。

route add -host 192.168.183.150 dev lo:1

添加了一個(gè)host地址,目的是用于接收數(shù)據(jù)報(bào)文,接收到了數(shù)據(jù)報(bào)文后會(huì)交給lo:1處理。(防止關(guān)機(jī)失效,需要將上述命令添加到/etc/rc.local中)

添加完host后,可以查看一下:route -n,能明顯看到效果。

上述配置我們同樣要在192.168.183.135中配置。

3.4 集群配置

ipvsadm命令講解:

ipvsadm -A:用于創(chuàng)建集群
ipvsadm -E:用于修改集群
ipvsadm -D:用于刪除集群
ipvsadm -C:用于清除集群數(shù)據(jù)
ipvsadm -R:用于重置集群配置規(guī)則
ipvsadm -S:用于保存修改的集群規(guī)則
ipvsadm -a:用于添加一個(gè)rs節(jié)點(diǎn)
ipvsadm -e:用于修改一個(gè)rs節(jié)點(diǎn)
ipvsadm -d:用于刪除一個(gè)rs節(jié)點(diǎn)

添加集群TCP服務(wù)地址:(外部請(qǐng)求由該配置指定的VIP處理)

ipvsadm -A -t 192.168.183.150:80 -s rr

參數(shù)說明:

  • -A:添加集群配置
  • -t:TCP請(qǐng)求地址(VIP)
  • -s:負(fù)載均衡算法

負(fù)載均衡算法:

算法 說明
rr 輪詢算法,它將請(qǐng)求依次分配給不同的rs節(jié)點(diǎn),也就是RS節(jié)點(diǎn)中均攤分配。這種算法簡(jiǎn)單,但只適合于RS節(jié)點(diǎn)處理性能差不多的情況
wrr 加權(quán)輪訓(xùn)調(diào)度,它將依據(jù)不同RS的權(quán)值分配任務(wù)。權(quán)值較高的RS將優(yōu)先獲得任務(wù),并且分配到的連接數(shù)將比權(quán)值低的RS更多。相同權(quán)值的RS得到相同數(shù)目的連接數(shù)。
Wlc 加權(quán)最小連接數(shù)調(diào)度,假設(shè)各臺(tái)RS的全職依次為Wi,當(dāng)前tcp連接數(shù)依次為Ti,依次去Ti/Wi為最小的RS作為下一個(gè)分配的RS
Dh 目的地址哈希調(diào)度(destination hashing)以目的地址為關(guān)鍵字查找一個(gè)靜態(tài)hash表來獲得需要的RS
SH 源地址哈希調(diào)度(source hashing)以源地址為關(guān)鍵字查找一個(gè)靜態(tài)hash表來獲得需要的RS
Lc 最小連接數(shù)調(diào)度(least-connection),IPVS表存儲(chǔ)了所有活動(dòng)的連接。LB會(huì)比較將連接請(qǐng)求發(fā)送到當(dāng)前連接最少的RS.
Lblc 基于地址的最小連接數(shù)調(diào)度(locality-based least-connection):將來自同一個(gè)目的地址的請(qǐng)求分配給同一臺(tái)RS,此時(shí)這臺(tái)服務(wù)器是尚未滿負(fù)荷的。否則就將這個(gè)請(qǐng)求分配給連接數(shù)最小的RS,并以它作為下一次分配的首先考慮。

DS中配置rs(2個(gè))節(jié)點(diǎn):

ipvsadm -a -t 192.168.183.150:80 -r 192.168.183.134:80 -g
ipvsadm -a -t 192.168.183.150:80 -r 192.168.183.135:80 -g

參數(shù)說明:

  • -a:給集群添加一個(gè)節(jié)點(diǎn)
  • -t:指定VIP地址
  • -r:指定real server地址
  • -g:表示LVS的模式為dr模式

添加了節(jié)點(diǎn)后,我們通過ipvsadm -Ln查看,可以看到多了2個(gè)節(jié)點(diǎn)。

此時(shí)集群列表中客戶端請(qǐng)求數(shù)據(jù)和TCP通信數(shù)據(jù)會(huì)持久化保存,為了更好看到效果,我們可以把時(shí)間設(shè)置成2秒保存,如下命令:

ipvsadm --set 2 2 2

此時(shí)我們請(qǐng)求http://192.168.183.150/測(cè)試

可以發(fā)現(xiàn)請(qǐng)求會(huì)在兩臺(tái)Nginx輪詢切換。

到此這篇關(guān)于使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Lvs Nginx集群搭建高并發(fā)內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

香港服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部