{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

在軟件架構中,有哪些負載均衡?它們起到的作用是什么?

liaorioliaorio 回答2 收藏1
收藏問題

2條回答

Kylin_Mountain

Kylin_Mountain

回答于2022-06-22 15:43

如果項目的用戶量少、訪問量不大、數(shù)據(jù)量也不多的時候,一臺服務器足以支撐,那么直接項目部署一套,直接訪問使用就可以了,但是當用戶和數(shù)據(jù)量不斷增多,訪問量(并發(fā)量)不斷增加,一臺服務器不在能夠支撐業(yè)務的時候,就需要使用多臺機器,設計高性能的集群來應對。

那么當我部署了多臺服務器(這里假如是兩臺),那么調用方是如何訪問的呢?服務方如何均衡訪問的流量呢?這時候就需要引出負載均衡了。

負載均衡就是通過一定的策略,把用戶的訪問量均勻地轉發(fā)給后端的服務器;負載均衡可以提高系統(tǒng)的服務能力和高可用性。

負載均衡分類

常見的負載均衡技術有三種:

  • DNS負載均衡:大概的原理是,當用戶訪問域名的時候,需要先通過DNS解析域名,找到對應的IP地址,在這個過程中,可以讓DNS服務器,根據(jù)用戶的地理位置,返回不同的IP,這樣就可以實現(xiàn)負載均衡,同時也可以提升用戶的訪問速度。

  • 軟件負載均衡:用軟件來實現(xiàn)流量的分發(fā),有基于傳輸層實現(xiàn)的負載均衡,比如LVS,也有基于應用層來實現(xiàn)的,比如Nginx;軟件負載均衡實現(xiàn)起來很簡單,只需要在服務器上部署并進行配置就可以實現(xiàn);

  • 硬件負載均衡:用硬件來實現(xiàn)負載均衡,比如F5(F5 Network Big-IP),這是一臺網(wǎng)絡設備,性能很高,同時價格非常的貴。

從另外一個角度對負載均衡進行分類,可以分成兩種:

  • 服務端負載均衡:調用方只訪問負載均衡的IP,不需要管后面有多少臺服務器。

  • 客戶端負載均衡:服務端部署多臺服務器,客戶端知道每臺服務器的地址,并通過一定的路由規(guī)則,均衡地訪問,比如Spring Cloud Ribbon,當然客戶端的負載均衡,通常是需要服務注冊發(fā)現(xiàn)的配合。

常見的負載均衡調度算法

  • 輪循(Round Robin):將請求循環(huán)分配給有效的服務器;

  • 加權輪循(Weighted Round Robin):輪訓的升級版,給后端的服務器分配不同的權限,根據(jù)權重進行循環(huán)分配;比如A、B服務器權重分別是100和50,那么請求會保持2:1的比例進行分配;

  • 最少連接數(shù)(Least Connection):分配的請求根據(jù)每臺服務器當前所打開的連接數(shù)來進行分配;

  • 源IP哈希(Source IP Hash):對調用方的IP進行HASH運算,并根據(jù)這個計算結果分配服務器,這樣的好處是同一個主機的請求,始終會被同一個服務器響應(但是不一定均衡)。

我將持續(xù)分享Java開發(fā)、架構設計、程序員職業(yè)發(fā)展等方面的見解,希望能得到你的關注。

評論0 贊同0
  •  加載中...
guyan0319

guyan0319

回答于2022-06-22 15:43

什么事負載均衡

網(wǎng)絡的負載均衡是一種動態(tài)均衡技術,常見的實現(xiàn)方式是通過一些工具實時地分析數(shù)據(jù)包,掌握網(wǎng)絡中的數(shù)據(jù)流量狀況,把任務合理均衡地分配出去。


通俗的講,在網(wǎng)站創(chuàng)立初期,我們一般都使用單臺機器對臺提供集中式服務,但隨著業(yè)務量越來越大,無論性能還是穩(wěn)定性上都有了更大的挑戰(zhàn)。


這時候我們就會想到通過擴容的方式來提供更好的服務。我們一般會把多臺機器組成一個集群對外提供服務。


然而,我們的網(wǎng)站對外提供的訪問入口都是一個的,比如www.taobao.com。


那么當用戶在瀏覽器輸入 www.taobao.com 的時候如何將用戶的請求分發(fā)到集群中不同的機器上呢,這就是負載均衡在做的事情。


當前大多數(shù)的互聯(lián)網(wǎng)系統(tǒng)都使用了服務器集群技術,集群即將相同服務部署在多臺服務器上構成一個集群整體對外提供服務,這些集群可以是 Web 應用服務器集群,也可以是數(shù)據(jù)庫服務器集群,還可以是分布式緩存服務器集群等。


在實際應用中,在 Web 服務器集群之前總會有一臺負載均衡服務器,負載均衡設備的任務就是作為 Web 服務器流量的入口,挑選最合適的一臺 Web 服務器,將客戶端的請求轉發(fā)給它處理,實現(xiàn)客戶端到真實服務端的透明轉發(fā)。


最近幾年很火的「云計算」以及分布式架構,本質上也是將后端服務器作為計算資源、存儲資源,由某臺管理服務器封裝成一個服務對外提供,客戶端不需要關心真正提供服務的是哪臺機器,在它看來,就好像它面對的是一臺擁有近乎無限能力的服務器,而本質上,真正提供服務的是后端的集群。

圖中電腦請求淘寶網(wǎng)服務器集群,中間會經(jīng)過負載均衡器,將請求落到一個具體的服務器上。


常見的負載均衡技術

1. LVS技術

LVS(Linux Virtual Server),也就是 Linux 虛擬服務器。

使用 LVS 技術要達到的目標是:通過 LVS 提供的負載均衡技術和 Linux 操作系統(tǒng)實現(xiàn)一個高性能、高可用的服務器群集,它具有良好可靠性、可擴展性和可操作性。從而以低廉的成本實現(xiàn)最優(yōu)的服務性能。


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


2. Nginx

是一個網(wǎng)頁服務器,它能反向代理 HTTP、HTTPS,、SMTP、POP3、IMAP、TCP的協(xié)議鏈接,以及一個負載均衡器和一個HTTP緩存。


Nginx 主要用來做七層負載均衡,有時候也能夠負載TCPIP層。

并發(fā)性能:官方支持每秒 5 萬并發(fā),實際國內一般到每秒 2 萬并發(fā),有優(yōu)化到每秒 10 萬并發(fā)的。具體性能看應用場景。


3. HAProxy

HAProxy 也是使用較多的一款負載均衡軟件。HAProxy 提供高可用性、負載均衡以及基于 TCP 和 HTTP 應用的代理,支持虛擬主機,是免費、快速并且可靠的一種解決方案。


特別適用于那些負載特大的 Web站點。運行模式使得它可以很簡單安全的整合到當前的架構中,同時可以保護你的web服務器不被暴露到網(wǎng)絡上。


HAProxy 是一個使用 C 語言編寫的自由及開放源代碼軟件,其提供高可用性、負載均衡,以及基于 TCP 和 HTTP 的應用程序代理。Haproxy 主要用來做七層負載均衡。

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<