国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)絡(luò)營(yíng)銷(xiāo) > 關(guān)于大型網(wǎng)站架構(gòu)的負(fù)載均衡技術(shù)詳解

關(guān)于大型網(wǎng)站架構(gòu)的負(fù)載均衡技術(shù)詳解

時(shí)間:2022-05-25 00:06:01 | 來(lái)源:網(wǎng)絡(luò)營(yíng)銷(xiāo)

時(shí)間:2022-05-25 00:06:01 來(lái)源:網(wǎng)絡(luò)營(yíng)銷(xiāo)

面對(duì)大量用戶(hù)訪(fǎng)問(wèn)、高并發(fā)請(qǐng)求,海量數(shù)據(jù),可以使用高性能的服務(wù)器、大型數(shù)據(jù)庫(kù),存儲(chǔ)設(shè)備,高性能Web服務(wù)器,采用高效率的編程語(yǔ)言(比如:Go,Scala)等,當(dāng)單機(jī)容量達(dá)到極限時(shí),我們需要考慮業(yè)務(wù)拆分和分布式部署,來(lái)解決大型網(wǎng)站訪(fǎng)問(wèn)量大,并發(fā)量高,海量數(shù)據(jù)的問(wèn)題。

從單機(jī)網(wǎng)站到分布式網(wǎng)站,很重要的區(qū)別是業(yè)務(wù)拆分和分布式部署,將應(yīng)用拆分后,部署到不同的機(jī)器上,實(shí)現(xiàn)大規(guī)模分布式系統(tǒng)。

分布式和業(yè)務(wù)拆分解決了,從集中到分布的問(wèn)題,但是每個(gè)部署的獨(dú)立業(yè)務(wù)還存在單點(diǎn)的問(wèn)題和訪(fǎng)問(wèn)統(tǒng)一入口問(wèn)題,為解決單點(diǎn)故障,我們可以采取冗余的方式。將相同的應(yīng)用部署到多臺(tái)機(jī)器上,解決訪(fǎng)問(wèn)統(tǒng)一入口問(wèn)題,我們可以在集群前面增加負(fù)載均衡設(shè)備,實(shí)現(xiàn)流量分發(fā)。

今天,我要在億企邦上分享的是一篇負(fù)載均衡詳解介紹的文章,主要跟大家介紹負(fù)載均衡的原理,負(fù)載均衡分類(lèi)(DNS負(fù)載均衡,HTTP負(fù)載均衡,IP負(fù)載均衡,鏈路層負(fù)載均衡,混合型P負(fù)載均衡)。

一、負(fù)載均衡原理

負(fù)載均衡(Load Balance),意思是將負(fù)載(工作任務(wù),訪(fǎng)問(wèn)請(qǐng)求)進(jìn)行平衡、分?jǐn)偟蕉鄠€(gè)操作單元(服務(wù)器,組件)上進(jìn)行執(zhí)行,是解決高性能,單點(diǎn)故障(高可用),擴(kuò)展性(水平伸縮)的終極解決方案。

系統(tǒng)的擴(kuò)展可分為縱向(垂直)擴(kuò)展和橫向(水平)擴(kuò)展。

縱向擴(kuò)展,是從單機(jī)的角度通過(guò)增加硬件處理能力,比如CPU處理能力,內(nèi)存容量,磁盤(pán)等方面,實(shí)現(xiàn)服務(wù)器處理能力的提升,不能滿(mǎn)足大型分布式系統(tǒng)(網(wǎng)站),大流量,高并發(fā),海量數(shù)據(jù)的問(wèn)題,因此需要采用橫向擴(kuò)展的方式,通過(guò)添加機(jī)器來(lái)滿(mǎn)足大型網(wǎng)站服務(wù)的處理能力。

比如:一臺(tái)機(jī)器不能滿(mǎn)足,則增加兩臺(tái)或者多臺(tái)機(jī)器,共同承擔(dān)訪(fǎng)問(wèn)壓力。這就是典型的集群和負(fù)載均衡架構(gòu):如下圖:

應(yīng)用集群:將同一應(yīng)用部署到多臺(tái)機(jī)器上,組成處理集群,接收負(fù)載均衡設(shè)備分發(fā)的請(qǐng)求,進(jìn)行處理,并返回相應(yīng)數(shù)據(jù)。

負(fù)載均衡設(shè)備:將用戶(hù)訪(fǎng)問(wèn)的請(qǐng)求,根據(jù)負(fù)載均衡算法,分發(fā)到集群中的一臺(tái)處理服務(wù)器(一種把網(wǎng)絡(luò)請(qǐng)求分散到一個(gè)服務(wù)器集群中的可用服務(wù)器上去的設(shè)備)。

負(fù)載均衡的作用(解決的問(wèn)題):

1、解決并發(fā)壓力,提高應(yīng)用處理性能(增加吞吐量,加強(qiáng)網(wǎng)絡(luò)處理能力);

2、提供故障轉(zhuǎn)移,實(shí)現(xiàn)高可用;

3、通過(guò)添加或減少服務(wù)器數(shù)量,提供網(wǎng)站伸縮性(擴(kuò)展性);

4、安全防護(hù)(負(fù)載均衡設(shè)備上做一些過(guò)濾,黑白名單等處理)。

二、負(fù)載均衡分類(lèi)

根據(jù)實(shí)現(xiàn)技術(shù)不同,可分為DNS負(fù)載均衡,HTTP負(fù)載均衡,IP負(fù)載均衡,鏈路層負(fù)載均衡等。

1、DNS負(fù)載均衡

最早的負(fù)載均衡技術(shù),利用域名解析實(shí)現(xiàn)負(fù)載均衡,在DNS服務(wù)器,配置多個(gè)A記錄,這些A記錄對(duì)應(yīng)的服務(wù)器構(gòu)成集群,大型網(wǎng)站總是部分使用DNS解析,作為第一級(jí)負(fù)載均衡,如下圖:

優(yōu)點(diǎn):

使用簡(jiǎn)單:負(fù)載均衡工作,交給DNS服務(wù)器處理,省掉了負(fù)載均衡服務(wù)器維護(hù)的麻煩。

提高性能:可以支持基于地址的域名解析,解析成距離用戶(hù)最近的服務(wù)器地址,可以加快訪(fǎng)問(wèn)速度,改善性能。

缺點(diǎn):

可用性差:DNS解析是多級(jí)解析,新增/修改DNS后,解析時(shí)間較長(zhǎng);解析過(guò)程中,用戶(hù)訪(fǎng)問(wèn)網(wǎng)站將失敗。

擴(kuò)展性低:DNS負(fù)載均衡的控制權(quán)在域名商那里,無(wú)法對(duì)其做更多的改善和擴(kuò)展。

維護(hù)性差:也不能反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài);支持的算法少;不能區(qū)分服務(wù)器的差異(不能根據(jù)系統(tǒng)與服務(wù)的狀態(tài)來(lái)判斷負(fù)載)。

實(shí)踐建議:

將DNS作為第一級(jí)負(fù)載均衡,A記錄對(duì)應(yīng)著內(nèi)部負(fù)載均衡的IP地址,通過(guò)內(nèi)部負(fù)載均衡將請(qǐng)求分發(fā)到真實(shí)的Web服務(wù)器上,一般用于互聯(lián)網(wǎng)公司,復(fù)雜的業(yè)務(wù)系統(tǒng)不合適使用,如下圖:

2、IP負(fù)載均衡

在網(wǎng)絡(luò)層通過(guò)修改請(qǐng)求目標(biāo)地址進(jìn)行負(fù)載均衡。

用戶(hù)請(qǐng)求數(shù)據(jù)包,到達(dá)負(fù)載均衡服務(wù)器后,負(fù)載均衡服務(wù)器在操作系統(tǒng)內(nèi)核進(jìn)程獲取網(wǎng)絡(luò)數(shù)據(jù)包,根據(jù)負(fù)載均衡算法得到一臺(tái)真實(shí)服務(wù)器地址,然后將請(qǐng)求目的地址修改為,獲得的真實(shí)ip地址,不需要經(jīng)過(guò)用戶(hù)進(jìn)程處理。

真實(shí)服務(wù)器處理完成后,響應(yīng)數(shù)據(jù)包回到負(fù)載均衡服務(wù)器,負(fù)載均衡服務(wù)器,再將數(shù)據(jù)包源地址修改為自身的ip地址,發(fā)送給用戶(hù)瀏覽器,如下圖:

IP負(fù)載均衡,真實(shí)物理服務(wù)器返回給負(fù)載均衡服務(wù)器,存在兩種方式:

(1)、負(fù)載均衡服務(wù)器在修改目的ip地址的同時(shí)修改源地址。將數(shù)據(jù)包源地址設(shè)為自身盤(pán),即源地址轉(zhuǎn)換(snat)。

(2)、將負(fù)載均衡服務(wù)器同時(shí)作為真實(shí)物理服務(wù)器集群的網(wǎng)關(guān)服務(wù)器。

優(yōu)點(diǎn):在內(nèi)核進(jìn)程完成數(shù)據(jù)分發(fā),比在應(yīng)用層分發(fā)性能更好。

缺點(diǎn):所有請(qǐng)求響應(yīng)都需要經(jīng)過(guò)負(fù)載均衡服務(wù)器,集群最大吞吐量受限于負(fù)載均衡服務(wù)器網(wǎng)卡帶寬。

3、鏈路層負(fù)載均衡

在通信協(xié)議的數(shù)據(jù)鏈路層修改mac地址,進(jìn)行負(fù)載均衡。

數(shù)據(jù)分發(fā)時(shí),不修改ip地址,指修改目標(biāo)mac地址,配置真實(shí)物理服務(wù)器集群所有機(jī)器虛擬ip和負(fù)載均衡服務(wù)器ip地址一致,達(dá)到不修改數(shù)據(jù)包的源地址和目標(biāo)地址,進(jìn)行數(shù)據(jù)分發(fā)的目的。

實(shí)際處理服務(wù)器ip和數(shù)據(jù)請(qǐng)求目的ip一致,不需要經(jīng)過(guò)負(fù)載均衡服務(wù)器進(jìn)行地址轉(zhuǎn)換,可將響應(yīng)數(shù)據(jù)包直接返回給用戶(hù)瀏覽器,避免負(fù)載均衡服務(wù)器網(wǎng)卡帶寬成為瓶頸,也稱(chēng)為直接路由模式(DR模式),如下圖:

優(yōu)點(diǎn):性能好。

缺點(diǎn):配置復(fù)雜。

實(shí)踐建議:DR模式是目前使用最廣泛的一種負(fù)載均衡方式。

4、混合型負(fù)載均衡

由于多個(gè)服務(wù)器群內(nèi)硬件設(shè)備、各自的規(guī)模、提供的服務(wù)等的差異,可以考慮給每個(gè)服務(wù)器群采用最合適的負(fù)載均衡方式,然后又在這多個(gè)服務(wù)器群間再一次負(fù)載均衡或群集起來(lái)以一個(gè)整體向外界提供服務(wù)(即把這多個(gè)服務(wù)器群當(dāng)做一個(gè)新的服務(wù)器群),從而達(dá)到最佳的性能,將這種方式稱(chēng)之為混合型負(fù)載均衡。

此種方式有時(shí)也用于單臺(tái)均衡設(shè)備的性能不能滿(mǎn)足大量連接請(qǐng)求的情況下,是目前大型互聯(lián)網(wǎng)公司,普遍使用的方式。

方式一,如下圖:

以上模式適合有動(dòng)靜分離的場(chǎng)景,反向代理服務(wù)器(集群)可以起到緩存和動(dòng)態(tài)請(qǐng)求分發(fā)的作用,當(dāng)時(shí)靜態(tài)資源緩存在代理服務(wù)器時(shí),則直接返回到瀏覽器,如果動(dòng)態(tài)頁(yè)面則請(qǐng)求后面的應(yīng)用負(fù)載均衡(應(yīng)用集群)。

方式二,如下圖:

以上模式,適合動(dòng)態(tài)請(qǐng)求場(chǎng)景。

因混合模式,可以根據(jù)具體場(chǎng)景,靈活搭配各種方式,以上兩種方式僅供參考。

三、負(fù)載均衡算法

常用的負(fù)載均衡算法有,輪詢(xún),隨機(jī),最少鏈接,源地址散列,加權(quán)等方式。

1、輪詢(xún)

將所有請(qǐng)求,依次分發(fā)到每臺(tái)服務(wù)器上,適合服務(wù)器硬件同相同的場(chǎng)景。

優(yōu)點(diǎn):服務(wù)器請(qǐng)求數(shù)目相同。

缺點(diǎn):服務(wù)器壓力不一樣,不適合服務(wù)器配置不同的情況。

2、隨機(jī)

請(qǐng)求隨機(jī)分配到各個(gè)服務(wù)器。

優(yōu)點(diǎn):使用簡(jiǎn)單。

缺點(diǎn):不適合機(jī)器配置不同的場(chǎng)景。

3、最少鏈接

將請(qǐng)求分配到連接數(shù)最少的服務(wù)器(目前處理請(qǐng)求最少的服務(wù)器)。

優(yōu)點(diǎn):根據(jù)服務(wù)器當(dāng)前的請(qǐng)求處理情況,動(dòng)態(tài)分配。

缺點(diǎn):算法實(shí)現(xiàn)相對(duì)復(fù)雜,需要監(jiān)控服務(wù)器請(qǐng)求連接數(shù)。

4、Hash(源地址散列)

根據(jù)IP地址進(jìn)行Hash計(jì)算,得到IP地址。

優(yōu)點(diǎn):將來(lái)自同一IP地址的請(qǐng)求,同一會(huì)話(huà)期內(nèi),轉(zhuǎn)發(fā)到相同的服務(wù)器;實(shí)現(xiàn)會(huì)話(huà)粘滯。

缺點(diǎn):目標(biāo)服務(wù)器宕機(jī)后,會(huì)話(huà)會(huì)丟失。

5、加權(quán)

在輪詢(xún),隨機(jī),最少鏈接,Hash’等算法的基礎(chǔ)上,通過(guò)加權(quán)的方式,進(jìn)行負(fù)載服務(wù)器分配。

優(yōu)點(diǎn):根據(jù)權(quán)重,調(diào)節(jié)轉(zhuǎn)發(fā)服務(wù)器的請(qǐng)求數(shù)目。

缺點(diǎn):使用相對(duì)復(fù)雜。

四、硬件負(fù)載均衡

采用硬件的方式實(shí)現(xiàn)負(fù)載均衡,一般是單獨(dú)的負(fù)載均衡服務(wù)器,價(jià)格昂貴,一般土豪級(jí)公司可以考慮,業(yè)界領(lǐng)先的有兩款,F(xiàn)5和A10。

使用硬件負(fù)載均衡,主要考慮一下幾個(gè)方面:

(1)、功能考慮:功能全面支持各層級(jí)的負(fù)載均衡,支持全面的負(fù)載均衡算法,支持全局負(fù)載均衡。

(2)、性能考慮:一般軟件負(fù)載均衡支持到5萬(wàn)級(jí)并發(fā)已經(jīng)很困難了,硬件負(fù)載均衡可以支持。

(3)、穩(wěn)定性:商用硬件負(fù)載均衡,經(jīng)過(guò)了良好的嚴(yán)格的測(cè)試,從經(jīng)過(guò)大規(guī)模使用,在穩(wěn)定性方面高。

(4)、安全防護(hù):硬件均衡設(shè)備除具備負(fù)載均衡功能外,還具備防火墻,防DDOS攻擊等安全功能。

(5)、維護(hù)角度:提供良好的維護(hù)管理界面,售后服務(wù)和技術(shù)支持。

(6)、土豪公司:F5 Big Ip 價(jià)格:15w~55w不等;A10 價(jià)格:55w-100w不等。

缺點(diǎn):

(1)、價(jià)格昂貴;

(2)、擴(kuò)展能力差;

小結(jié):

(1)、一般硬件的負(fù)載均衡也要做雙機(jī)高可用,因此成本會(huì)比較高。

(2)、互聯(lián)網(wǎng)公司一般使用開(kāi)源軟件,因此大部分應(yīng)用采用軟件負(fù)載均衡;部分采用硬件負(fù)載均衡。

比如某互聯(lián)網(wǎng)公司,目前是使用幾臺(tái)F5做全局負(fù)載均衡,內(nèi)部使用Nginx等軟件負(fù)載均衡。

另外,據(jù)億企邦了解,硬件負(fù)載均衡性能優(yōu)越,功能全面,但是價(jià)格昂貴,一般適合初期或者土豪級(jí)公司長(zhǎng)期使用,因此軟件負(fù)載均衡在互聯(lián)網(wǎng)領(lǐng)域大量使用。常用的軟件負(fù)載均衡軟件有Nginx,Lvs,HaProxy等。

五、Ngnix負(fù)載均衡

Ngnix是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器,工作在七層Http協(xié)議的負(fù)載均衡系統(tǒng),具有高性能、高并發(fā)、低內(nèi)存使用等特點(diǎn),是一個(gè)輕量級(jí)的Http和反向代理服務(wù)器,Nginx使用epoll and kqueue作為開(kāi)發(fā)模型,能夠支持高達(dá)50,000個(gè)并發(fā)連接數(shù)的響應(yīng)。

操作系統(tǒng):Liunx,Windows(Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows)

開(kāi)發(fā)語(yǔ)言:C

并發(fā)性能:官方支持每秒5萬(wàn)并發(fā),實(shí)際國(guó)內(nèi)一般到每秒2萬(wàn)并發(fā),有優(yōu)化到每秒10萬(wàn)并發(fā)的,具體性能看應(yīng)用場(chǎng)景。

1、特點(diǎn)

(1)、模塊化設(shè)計(jì):良好的擴(kuò)展性,可以通過(guò)模塊方式進(jìn)行功能擴(kuò)展。

(2)、高可靠性:主控進(jìn)程和worker是同步實(shí)現(xiàn)的,一個(gè)worker出現(xiàn)問(wèn)題,會(huì)立刻啟動(dòng)另一個(gè)worker。

(3)、內(nèi)存消耗低:一萬(wàn)個(gè)長(zhǎng)連接(keep-alive),僅消耗2.5MB內(nèi)存。

(4)、支持熱部署:不用停止服務(wù)器,實(shí)現(xiàn)更新配置文件,更換日志文件、更新服務(wù)器程序版本。

(5)、并發(fā)能力強(qiáng):官方數(shù)據(jù)每秒支持5萬(wàn)并發(fā)。

(6)、功能豐富:優(yōu)秀的反向代理功能和靈活的負(fù)載均衡策略。

2、功能

對(duì)于功能方面,億企邦就簡(jiǎn)單的跟大家列出以下幾個(gè)要點(diǎn):

(1)、基本功能

支持靜態(tài)資源的web服務(wù)器。

http,smtp,pop3協(xié)議的反向代理服務(wù)器、緩存、負(fù)載均衡;

支持FASTCGI(fpm);

支持模塊化,過(guò)濾器(讓文本可以實(shí)現(xiàn)壓縮,節(jié)約帶寬),ssl及圖像大小調(diào)整。

內(nèi)置的健康檢查功能;

基于名稱(chēng)和ip的虛擬主機(jī);

定制訪(fǎng)問(wèn)日志;

支持平滑升級(jí);

支持KEEPALIVE;

支持url rewrite;

支持路徑別名;

支持基于IP和用戶(hù)名的訪(fǎng)問(wèn)控制;

支持傳輸速率限制,支持并發(fā)數(shù)限制。

(2)、性能

Nginx的高并發(fā),官方測(cè)試支持5萬(wàn)并發(fā)連接,實(shí)際生產(chǎn)環(huán)境能到2-3萬(wàn)并發(fā)連接數(shù),10000個(gè)非活躍的HTTP keep-alive 連接僅占用約2.5MB內(nèi)存。

三萬(wàn)并發(fā)連接下,10個(gè)Nginx進(jìn)程,消耗內(nèi)存150M。淘寶tengine團(tuán)隊(duì)測(cè)試結(jié)果是“24G內(nèi)存機(jī)器上,處理并發(fā)請(qǐng)求可達(dá)200萬(wàn)”。

3、架構(gòu)

關(guān)于架構(gòu)方面,億企邦在此為大家主要介紹一下:Nginx的基本工作模式、Nginx支持的sendfile機(jī)制和Nginx通信模型(I/O復(fù)用機(jī)制)。

(1)、Nginx的基本工作模式

一個(gè)master進(jìn)程,生成一個(gè)或者多個(gè)worker進(jìn)程,但是這里master是使用root身份啟動(dòng)的,因?yàn)閚ginx要工作在80端口,而只有管理員才有權(quán)限啟動(dòng)小于低于1023的端口。

master主要是負(fù)責(zé)的作用只是啟動(dòng)worker,加載配置文件,負(fù)責(zé)系統(tǒng)的平滑升級(jí),其它的工作是交給worker,那么當(dāng)worker被啟動(dòng)之后,也只是負(fù)責(zé)一些web最簡(jiǎn)單的工作,而其他的工作都是有worker中調(diào)用的模塊來(lái)實(shí)現(xiàn)的。

模塊之間是以流水線(xiàn)的方式實(shí)現(xiàn)功能的。流水線(xiàn),指的是一個(gè)用戶(hù)請(qǐng)求,由多個(gè)模塊組合各自的功能依次實(shí)現(xiàn)完成的。

比如:第一個(gè)模塊只負(fù)責(zé)分析請(qǐng)求首部,第二個(gè)模塊只負(fù)責(zé)查找數(shù)據(jù),第三個(gè)模塊只負(fù)責(zé)壓縮數(shù)據(jù),依次完成各自工作。來(lái)實(shí)現(xiàn)整個(gè)工作的完成。

他們是如何實(shí)現(xiàn)熱部署的呢?其實(shí)是這樣的,我們前面說(shuō)master不負(fù)責(zé)具體的工作,而是調(diào)用worker工作,他只是負(fù)責(zé)讀取配置文件,因此當(dāng)一個(gè)模塊修改或者配置文件發(fā)生變化,是由master進(jìn)行讀取,因此此時(shí)不會(huì)影響到worker工作。

在master進(jìn)行讀取配置文件之后,不會(huì)立即的把修改的配置文件告知worker,而是讓被修改的worker繼續(xù)使用老的配置文件工作,當(dāng)worker工作完畢之后,直接當(dāng)?shù)暨@個(gè)子進(jìn)程,更換新的子進(jìn)程,使用新的規(guī)則。

(2)、Nginx支持的sendfile機(jī)制

Sendfile機(jī)制,用戶(hù)將請(qǐng)求發(fā)給內(nèi)核,內(nèi)核根據(jù)用戶(hù)的請(qǐng)求調(diào)用相應(yīng)用戶(hù)進(jìn)程,進(jìn)程在處理時(shí)需要資源,此時(shí)再把請(qǐng)求發(fā)給內(nèi)核(進(jìn)程沒(méi)有直接IO的能力),由內(nèi)核加載數(shù)據(jù)。

內(nèi)核查找到數(shù)據(jù)之后,會(huì)把數(shù)據(jù)復(fù)制給用戶(hù)進(jìn)程,由用戶(hù)進(jìn)程對(duì)數(shù)據(jù)進(jìn)行封裝,之后交給內(nèi)核,內(nèi)核在進(jìn)行tcp/ip首部的封裝,最后再發(fā)給客戶(hù)端。這個(gè)功能用戶(hù)進(jìn)程只是發(fā)生了一個(gè)封裝報(bào)文的過(guò)程,卻要繞一大圈。因此nginx引入了sendfile機(jī)制,使得內(nèi)核在接受到數(shù)據(jù)之后,不再依靠用戶(hù)進(jìn)程給予封裝,而是自己查找自己封裝,減少了一個(gè)很長(zhǎng)一段時(shí)間的浪費(fèi),這是一個(gè)提升性能的核心點(diǎn)。

以上的內(nèi)容,簡(jiǎn)單一句話(huà)是資源的處理,直接通過(guò)內(nèi)核層進(jìn)行數(shù)據(jù)傳遞,避免了數(shù)據(jù)傳遞到應(yīng)用層,應(yīng)用層再傳遞到內(nèi)核層的開(kāi)銷(xiāo)。

目前高并發(fā)的處理,一般都采用sendfile模式,通過(guò)直接操作內(nèi)核層數(shù)據(jù),減少應(yīng)用與內(nèi)核層數(shù)據(jù)傳遞。

(3)、Nginx通信模型(I/O復(fù)用機(jī)制)

開(kāi)發(fā)模型:epoll和kqueue。

支持的事件機(jī)制:kqueue、epoll、rt signals、/dev/poll 、event ports、select以及poll。

支持的kqueue特性包括EV_CLEAR、EV_DISABLE、NOTE_LOWAT、EV_EOF,可用數(shù)據(jù)的數(shù)量,錯(cuò)誤代碼.

支持sendfile、sendfile64和sendfilev;文件AIO;DIRECTIO;支持Accept-filters和TCP_DEFER_ACCEP.

以上概念較多,大家自行百度或谷歌,知識(shí)領(lǐng)域是網(wǎng)絡(luò)通信(BIO,NIO,AIO)和多線(xiàn)程方面的知識(shí),億企邦在此就不做詳細(xì)介紹了。

4、均衡策略

nginx的負(fù)載均衡策略可以劃分為兩大類(lèi):內(nèi)置策略和擴(kuò)展策略。

內(nèi)置策略包含加權(quán)輪詢(xún)和ip hash,在默認(rèn)情況下這兩種策略會(huì)編譯進(jìn)nginx內(nèi)核,只需在nginx配置中指明參數(shù)即可。擴(kuò)展策略有很多,如fair、通用hash、consistent hash等,默認(rèn)不編譯進(jìn)nginx內(nèi)核。由于在nginx版本升級(jí)中負(fù)載均衡的代碼沒(méi)有本質(zhì)性的變化,因此下面將以nginx1.0.15穩(wěn)定版為例,從源碼角度分析各個(gè)策略。

(1)、加權(quán)輪詢(xún)(weighted round robin)

輪詢(xún)的原理很簡(jiǎn)單,首先我們介紹一下輪詢(xún)的基本流程。如下是處理一次請(qǐng)求的流程圖:

圖中有兩點(diǎn)需要注意:

第一,如果可以把加權(quán)輪詢(xún)算法分為先深搜索和先廣搜索,那么nginx采用的是先深搜索算法,即將首先將請(qǐng)求都分給高權(quán)重的機(jī)器,直到該機(jī)器的權(quán)值降到了比其他機(jī)器低,才開(kāi)始將請(qǐng)求分給下一個(gè)高權(quán)重的機(jī)器。

第二,當(dāng)所有后端機(jī)器都down掉時(shí),nginx會(huì)立即將所有機(jī)器的標(biāo)志位清成初始狀態(tài),以避免造成所有的機(jī)器都處在timeout的狀態(tài),從而導(dǎo)致整個(gè)前端被夯住。

(2)、ip hash

ip hash是nginx內(nèi)置的另一個(gè)負(fù)載均衡的策略,流程和輪詢(xún)很類(lèi)似,只是其中的算法和具體的策略有些變化,如下圖所示:

(3)、fair

fair策略是擴(kuò)展策略,默認(rèn)不被編譯進(jìn)nginx內(nèi)核,其原理是根據(jù)后端服務(wù)器的響應(yīng)時(shí)間判斷負(fù)載情況,從中選出負(fù)載最輕的機(jī)器進(jìn)行分流。

這種策略具有很強(qiáng)的自適應(yīng)性,但是實(shí)際的網(wǎng)絡(luò)環(huán)境往往不是那么簡(jiǎn)單,因此要慎用。

(4)、通用hash、一致性hash

這兩種也是擴(kuò)展策略,在具體的實(shí)現(xiàn)上有些差別,通用hash比較簡(jiǎn)單,可以以nginx內(nèi)置的變量為key進(jìn)行hash,一致性hash采用了nginx內(nèi)置的一致性hash環(huán),可以支持memcache。

5、場(chǎng)景

Ngnix一般作為入口負(fù)載均衡或內(nèi)部負(fù)載均衡,結(jié)合反向代理服務(wù)器使用,以下架構(gòu)示例,僅供參考,具體使用根據(jù)場(chǎng)景而定。

(1)、入口負(fù)載均衡架構(gòu)

Ngnix服務(wù)器在用戶(hù)訪(fǎng)問(wèn)的最前端,根據(jù)用戶(hù)請(qǐng)求再轉(zhuǎn)發(fā)到具體的應(yīng)用服務(wù)器或二級(jí)負(fù)載均衡服務(wù)器(LVS)

(2)、內(nèi)部負(fù)載均衡架構(gòu)

LVS作為入口負(fù)載均衡,將請(qǐng)求轉(zhuǎn)發(fā)到二級(jí)Ngnix服務(wù)器,Ngnix再根據(jù)請(qǐng)求轉(zhuǎn)發(fā)到具體的應(yīng)用服務(wù)器。

(3)、Ngnix高可用

分布式系統(tǒng)中,應(yīng)用只部署一臺(tái)服務(wù)器會(huì)存在單點(diǎn)故障,負(fù)載均衡同樣有類(lèi)似的問(wèn)題。一般可采用主備或負(fù)載均衡設(shè)備集群的方式節(jié)約單點(diǎn)故障或高并發(fā)請(qǐng)求分流。

Ngnix高可用,至少包含兩個(gè)Ngnix服務(wù)器,一臺(tái)主服務(wù)器,一臺(tái)備服務(wù)器,之間使用Keepalived做健康監(jiān)控和故障檢測(cè),開(kāi)放VIP端口,通過(guò)防火墻進(jìn)行外部映射。

DNS解析公網(wǎng)的IP實(shí)際為VIP。

六、LVS負(fù)載均衡

LVS是一個(gè)開(kāi)源的軟件,由畢業(yè)于國(guó)防科技大學(xué)的章文嵩博士于1998年5月創(chuàng)立,用來(lái)實(shí)現(xiàn)Linux平臺(tái)下的簡(jiǎn)單負(fù)載均衡,LVS是Linux Virtual Server的縮寫(xiě),意思是Linux虛擬服務(wù)器。

基于IP層的負(fù)載均衡調(diào)度技術(shù),它在操作系統(tǒng)核心層上,將來(lái)自IP層的TCP/UDP請(qǐng)求均衡地轉(zhuǎn)移到不同的 服務(wù)器,從而將一組服務(wù)器構(gòu)成一個(gè)高性能、高可用的虛擬服務(wù)器。

操作系統(tǒng):Liunx

開(kāi)發(fā)語(yǔ)言:C

并發(fā)性能:默認(rèn)4096,可以修改但需要重新編譯。

1、功能

LVS的主要功能是實(shí)現(xiàn)IP層(網(wǎng)絡(luò)層)負(fù)載均衡,有NAT,TUN,DR三種請(qǐng)求轉(zhuǎn)發(fā)模式。

(1)、LVS/NAT方式的負(fù)載均衡集群

NAT是指Network Address Translation,它的轉(zhuǎn)發(fā)流程是:Director機(jī)器收到外界請(qǐng)求,改寫(xiě)數(shù)據(jù)包的目標(biāo)地址,按相應(yīng)的調(diào)度算法將其發(fā)送到相應(yīng)Real Server上,Real Server處理完該請(qǐng)求后,將結(jié)果數(shù)據(jù)包返回到其默認(rèn)網(wǎng)關(guān),即Director機(jī)器上,Director機(jī)器再改寫(xiě)數(shù)據(jù)包的源地址,最后將其返回給外界,這樣就完成一次負(fù)載調(diào)度。

構(gòu)架一個(gè)最簡(jiǎn)單的LVS/NAT方式的負(fù)載均衡集群Real Server可以是任何的操作系統(tǒng),而且無(wú)需做任何特殊的設(shè)定,惟一要做的就是將其默認(rèn)網(wǎng)關(guān)指向Director機(jī)器。Real Server可以使用局域網(wǎng)的內(nèi)部IP(192.168.0.0/24),Director要有兩塊網(wǎng)卡,一塊網(wǎng)卡綁定一個(gè)外部IP地址 (10.0.0.1),另一塊網(wǎng)卡綁定局域網(wǎng)的內(nèi)部IP(192.168.0.254),作為Real Server的默認(rèn)網(wǎng)關(guān)。

LVS/NAT方式實(shí)現(xiàn)起來(lái)最為簡(jiǎn)單,而且Real Server使用的是內(nèi)部IP,可以節(jié)省Real IP的開(kāi)銷(xiāo),但因?yàn)閳?zhí)行NAT需要重寫(xiě)流經(jīng)Director的數(shù)據(jù)包,在速度上有一定延遲。

當(dāng)用戶(hù)的請(qǐng)求非常短,而服務(wù)器的回應(yīng)非常大的情況下,會(huì)對(duì)Director形成很大壓力,成為新的瓶頸,從而使整個(gè)系統(tǒng)的性能受到限制。

(2)、LVS/TUN方式的負(fù)載均衡集群

TUN是指IP Tunneling,它的轉(zhuǎn)發(fā)流程是:Director機(jī)器收到外界請(qǐng)求,按相應(yīng)的調(diào)度算法,通過(guò)IP隧道發(fā)送到相應(yīng)Real Server,Real Server處理完該請(qǐng)求后,將結(jié)果數(shù)據(jù)包直接返回給客戶(hù),至此完成一次負(fù)載調(diào)度。

最簡(jiǎn)單的LVS/TUN方式的負(fù)載均衡集群架構(gòu)使用IP Tunneling技術(shù),在Director機(jī)器和Real Server機(jī)器之間架設(shè)一個(gè)IP Tunnel,通過(guò)IP Tunnel將負(fù)載分配到Real Server機(jī)器上。

Director和Real Server之間的關(guān)系比較松散,可以是在同一個(gè)網(wǎng)絡(luò)中,也可以是在不同的網(wǎng)絡(luò)中,只要兩者能夠通過(guò)IP Tunnel相連就行。

收到負(fù)載分配的Real Server機(jī)器處理完后會(huì)直接將反饋數(shù)據(jù)送回給客戶(hù),而不必通過(guò)Director機(jī)器。實(shí)際應(yīng)用中,服務(wù)器必須擁有正式的IP地址用于與客戶(hù)機(jī)直接通信,并且所有服務(wù)器必須支持IP隧道協(xié)議。

該方式中Director將客戶(hù)請(qǐng)求分配到不同的Real Server,Real Server處理請(qǐng)求后直接回應(yīng)給用戶(hù),這樣Director就只處理客戶(hù)機(jī)與服務(wù)器的一半連接,極大地提高了Director的調(diào)度處理能力,使集群系統(tǒng)能容納更多的節(jié)點(diǎn)數(shù)。

另外,TUN方式中的Real Server可以在任何LAN或WAN上運(yùn)行,這樣可以構(gòu)筑跨地域的集群,其應(yīng)對(duì)災(zāi)難的能力也更強(qiáng),但是服務(wù)器需要為IP封裝付出一定的資源開(kāi)銷(xiāo),而且后端的Real Server必須是支持IP Tunneling的操作系統(tǒng)。

(3)、LVS/TUN方式的負(fù)載均衡集群

DR是指Direct Routing,它的轉(zhuǎn)發(fā)流程是:Director機(jī)器收到外界請(qǐng)求,按相應(yīng)的調(diào)度算法將其直接發(fā)送到相應(yīng)Real Server,Real Server處理完該請(qǐng)求后,將結(jié)果數(shù)據(jù)包直接返回給客戶(hù),完成一次負(fù)載調(diào)度。

構(gòu)架一個(gè)最簡(jiǎn)單的LVS/DR方式的負(fù)載均衡集群Real Server和Director都在同一個(gè)物理網(wǎng)段中,Director的網(wǎng)卡IP是192.168.0.253,再綁定另一個(gè)IP:192.168.0.254作為對(duì)外界的virtual IP,外界客戶(hù)通過(guò)該IP來(lái)訪(fǎng)問(wèn)整個(gè)集群系統(tǒng);Real Server在lo上綁定IP:192.168.0.254,同時(shí)加入相應(yīng)的路由。

LVS/DR方式與前面的LVS/TUN方式有些類(lèi)似,前臺(tái)的Director機(jī)器也是只需要接收和調(diào)度外界的請(qǐng)求,而不需要負(fù)責(zé)返回這些請(qǐng)求的反饋結(jié)果,所以能夠負(fù)載更多的Real Server,提高Director的調(diào)度處理能力,使集群系統(tǒng)容納更多的Real Server,但LVS/DR需要改寫(xiě)請(qǐng)求報(bào)文的MAC地址,所以所有服務(wù)器必須在同一物理網(wǎng)段內(nèi)。

2、架構(gòu)

LVS架設(shè)的服務(wù)器集群系統(tǒng)有三個(gè)部分組成:最前端的負(fù)載均衡層(Loader Balancer),中間的服務(wù)器群組層,用Server Array表示,最底層的數(shù)據(jù)共享存儲(chǔ)層,用Shared Storage表示。

在用戶(hù)看來(lái),所有的應(yīng)用都是透明的,用戶(hù)只是在使用一個(gè)虛擬服務(wù)器提供的高性能服務(wù)。LVS的體系架構(gòu)如下圖所示:

LVS的各個(gè)層次的詳細(xì)介紹:

Load Balancer層:位于整個(gè)集群系統(tǒng)的最前端,有一臺(tái)或者多臺(tái)負(fù)載調(diào)度器(Director Server)組成,LVS模塊就安裝在Director Server上,而Director的主要作用類(lèi)似于一個(gè)路由器,它含有完成LVS功能所設(shè)定的路由表,通過(guò)這些路由表把用戶(hù)的請(qǐng)求分發(fā)給Server Array層的應(yīng)用服務(wù)器(Real Server)上。

同時(shí),在Director Server上還要安裝對(duì)Real Server服務(wù)的監(jiān)控模塊Ldirectord,此模塊用于監(jiān)測(cè)各個(gè)Real Server服務(wù)的健康狀況。在Real Server不可用時(shí)把它從LVS路由表中剔除,恢復(fù)時(shí)重新加入。

Server Array層:由一組實(shí)際運(yùn)行應(yīng)用服務(wù)的機(jī)器組成,Real Server可以是WEB服務(wù)器、MAIL服務(wù)器、FTP服務(wù)器、DNS服務(wù)器、視頻服務(wù)器中的一個(gè)或者多個(gè),每個(gè)Real Server之間通過(guò)高速的LAN或分布在各地的WAN相連接。在實(shí)際的應(yīng)用中,Director Server也可以同時(shí)兼任Real Server的角色。

Shared Storage層:是為所有Real Server提供共享存儲(chǔ)空間和內(nèi)容一致性的存儲(chǔ)區(qū)域,在物理上,一般有磁盤(pán)陣列設(shè)備組成,為了提供內(nèi)容的一致性,一般可以通過(guò)NFS網(wǎng)絡(luò)文件系統(tǒng)共享數(shù)據(jù),但是NFS在繁忙的業(yè)務(wù)系統(tǒng)中,性能并不是很好,此時(shí)可以采用集群文件系統(tǒng),例如Red hat的GFS文件系統(tǒng),oracle提供的OCFS2文件系統(tǒng)等。

從整個(gè)LVS結(jié)構(gòu)可以看出,Director Server是整個(gè)LVS的核心,目前,用于Director Server的操作系統(tǒng)只能是Linux和FreeBSD,linux2.6內(nèi)核不用任何設(shè)置就可以支持LVS功能,而FreeBSD作為 Director Server的應(yīng)用還不是很多,性能也不是很好。

對(duì)于Real Server,幾乎可以是所有的系統(tǒng)平臺(tái),Linux、windows、Solaris、AIX、BSD系列都能很好的支持。

3、均衡策略

LVS默認(rèn)支持八種負(fù)載均衡策略,簡(jiǎn)述如下:

(1)、輪詢(xún)調(diào)度(Round Robin)

調(diào)度器通過(guò)“輪詢(xún)”調(diào)度算法將外部請(qǐng)求按順序輪流分配到集群中的真實(shí)服務(wù)器上,它均等地對(duì)待每一臺(tái)服務(wù)器,而不管服務(wù)器上實(shí)際的連接數(shù)和系統(tǒng)負(fù)載。

(2)、加權(quán)輪詢(xún)(Weighted Round Robin)

調(diào)度器通過(guò)“加權(quán)輪詢(xún)”調(diào)度算法根據(jù)真實(shí)服務(wù)器的不同處理能力來(lái)調(diào)度訪(fǎng)問(wèn)請(qǐng)求,這樣可以保證處理能力強(qiáng)的服務(wù)器能處理更多的訪(fǎng)問(wèn)流量,調(diào)度器可以自動(dòng)問(wèn)詢(xún)真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值。

(3)、最少鏈接(Least Connections)

調(diào)度器通過(guò)“最少連接”調(diào)度算法動(dòng)態(tài)地將網(wǎng)絡(luò)請(qǐng)求調(diào)度到已建立的鏈接數(shù)最少的服務(wù)器上,如果集群系統(tǒng)的真實(shí)服務(wù)器具有相近的系統(tǒng)性能,采用“最小連接”調(diào)度算法可以較好地均衡負(fù)載。

(4)、加權(quán)最少鏈接(Weighted Least Connections)

在集群系統(tǒng)中的服務(wù)器性能差異較大的情況下,調(diào)度器采用“加權(quán)最少鏈接”調(diào)度算法優(yōu)化負(fù)載均衡性能,具有較高權(quán)值的服務(wù)器將承受較大比例的活動(dòng)連接負(fù)載,調(diào)度器可以自動(dòng)問(wèn)詢(xún)真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值。

(5)、基于局部性的最少鏈接(Locality-Based Least Connections)

“基于局部性的最少鏈接”調(diào)度算法是針對(duì)目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng),該算法根據(jù)請(qǐng)求的目標(biāo)IP地址找出該目標(biāo)IP地址最近使用的服務(wù)器,若該服務(wù)器是可用的且沒(méi)有超載,將請(qǐng)求發(fā)送到該服務(wù)器。

若服務(wù)器不存在,或者該服務(wù)器超載且有服務(wù)器處于一半的工作負(fù)載,則用“最少鏈接” 的原則選出一個(gè)可用的服務(wù)器,將請(qǐng)求發(fā)送到該服務(wù)器。

(6)、帶復(fù)制的基于局部性最少鏈接(Locality-Based Least Connections with Replication)

“帶復(fù)制的基于局部性最少鏈接”調(diào)度算法也是針對(duì)目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。它與LBLC算法的不同之處是它要維護(hù)從一個(gè)目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法維護(hù)從一個(gè)目標(biāo)IP地址到一臺(tái)服務(wù)器的映射。

該算法根據(jù)請(qǐng)求的目標(biāo)IP地址找出該目標(biāo)IP地址對(duì)應(yīng)的服務(wù)器組,按“最小連接”原則從服務(wù)器組中選出一臺(tái)服務(wù)器,若服務(wù)器沒(méi)有超載,將請(qǐng)求發(fā)送到該服務(wù)器;若服務(wù)器超載,則按“最小連接”原則從這個(gè)集群中選出一臺(tái)服務(wù)器,將該服務(wù)器加入到服務(wù)器組中,將請(qǐng)求發(fā)送到該服務(wù)器。

同時(shí),當(dāng)該服務(wù)器組有一段時(shí)間沒(méi)有被修改,將最忙的服務(wù)器從服務(wù)器組中刪除,以降低復(fù)制的程度。

(7)、目標(biāo)地址散列(Destination Hashing)

“目標(biāo)地址散列”調(diào)度算法根據(jù)請(qǐng)求的目標(biāo)IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請(qǐng)求發(fā)送到該服務(wù)器,否則返回空。

(8)、源地址散列(Source Hashing)

“源地址散列”調(diào)度算法根據(jù)請(qǐng)求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請(qǐng)求發(fā)送到該服務(wù)器,否則返回空。

除具備以上負(fù)載均衡算法外,還可以自定義均衡策略。

4、場(chǎng)景

一般作為入口負(fù)載均衡或內(nèi)部負(fù)載均衡,結(jié)合反向代理服務(wù)器使用,相關(guān)架構(gòu)可參考Ngnix場(chǎng)景架構(gòu)。

5、HaProxy負(fù)載均衡

HAProxy也是使用較多的一款負(fù)載均衡軟件。HAProxy提供高可用性、負(fù)載均衡以及基于TCP和HTTP應(yīng)用的代理,支持虛擬主機(jī),是免費(fèi)、快速并且可靠的一種解決方案。特別適用于那些負(fù)載特大的web站點(diǎn)。運(yùn)行模式使得它可以很簡(jiǎn)單安全的整合到當(dāng)前的架構(gòu)中,同時(shí)可以保護(hù)你的web服務(wù)器不被暴露到網(wǎng)絡(luò)上。

(1)、特點(diǎn)

支持兩種代理模式:TCP(四層)和HTTP(七層),支持虛擬主機(jī)(具體可查看億企邦《HTTP服務(wù)的七層架構(gòu)技術(shù)解析及運(yùn)用》的相關(guān)介紹);

配置簡(jiǎn)單,支持url檢測(cè)后端服務(wù)器狀態(tài);

做負(fù)載均衡軟件使用,在高并發(fā)情況下,處理速度高于nginx;

TCP層多用于Mysql從(讀)服務(wù)器負(fù)載均衡(對(duì)Mysql進(jìn)行負(fù)載均衡,對(duì)后端的DB節(jié)點(diǎn)進(jìn)行檢測(cè)和負(fù)載均衡)。

能夠補(bǔ)充N(xiāo)ginx的一些缺點(diǎn)比如Session的保持,Cookie引導(dǎo)等工作。

(2)、均衡策略

支持四種常用算法:

①、roundrobin:輪詢(xún),輪流分配到后端服務(wù)器。

②、static-rr:根據(jù)后端服務(wù)器性能分配。

③、leastconn:最小連接者優(yōu)先處理。

④、source:根據(jù)請(qǐng)求源IP,與Nginx的IP_Hash類(lèi)似。

最后,為了檢驗(yàn)網(wǎng)絡(luò)負(fù)載均衡,我們可以通過(guò)IIS來(lái)進(jìn)行驗(yàn)證,其他的一些應(yīng)用如終端服務(wù)、Windows Media服務(wù)與IIS的應(yīng)用與之相類(lèi)似,在其他計(jì)算機(jī)上的IE瀏覽器中鍵入192.168.0.9,根據(jù)網(wǎng)絡(luò)的負(fù)載,網(wǎng)絡(luò)負(fù)載均衡會(huì)自動(dòng)轉(zhuǎn)發(fā)到A機(jī)或B機(jī)。

為了驗(yàn)證效果,你可以在瀏覽的時(shí)候,拔掉第一臺(tái)計(jì)算機(jī)的網(wǎng)線(xiàn)或拔掉第二臺(tái)機(jī)器的網(wǎng)線(xiàn),將會(huì)發(fā)現(xiàn)瀏覽到的將是不同內(nèi)容。

當(dāng)然,我們?cè)跍y(cè)試的時(shí)候,為了驗(yàn)證網(wǎng)絡(luò)負(fù)載均衡的效果,把兩個(gè)網(wǎng)站設(shè)置成不一致的內(nèi)容,而在正式應(yīng)用的時(shí)候,網(wǎng)絡(luò)負(fù)載均衡群集的每個(gè)節(jié)點(diǎn)計(jì)算機(jī)的內(nèi)容將是一致的,這樣不管使用哪一個(gè)節(jié)點(diǎn)響應(yīng),都能保證訪(fǎng)問(wèn)的內(nèi)容是一致的。

億企邦點(diǎn)評(píng):

由于在網(wǎng)絡(luò)上傳輸?shù)男畔⒉恢皇菙?shù)字、文字和圖形,還會(huì)隨應(yīng)用水平的提高,逐步增加語(yǔ)音、活動(dòng)圖像及視頻圖像等高帶寬的應(yīng)用,因此,關(guān)于網(wǎng)絡(luò)的建設(shè),尤其是主干網(wǎng)要求高帶寬與高速度,在服務(wù)器中應(yīng)用負(fù)載均衡技術(shù)不失為一種廉價(jià)的解決方案。

關(guān)鍵詞:均衡,負(fù)載,技術(shù)

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉