日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

负载均衡实现的几种方式

發(fā)布時間:2025/3/11 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 负载均衡实现的几种方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ? 負載均衡,英文名Load Balance,作用是將操作分攤到多個執(zhí)行單元上執(zhí)行。隨著如今網(wǎng)絡流量的不斷增大,服務的負載均衡是必須的,這里就來講一講負載均衡的結(jié)構。
???????說到負載均衡,同學最容易想到的可能就是nginx了,但是nginx只是其中的一層,而負載均衡從我們發(fā)送一個請求時可能就開始了,下面是一個負載均衡流程:

? ? ? ?

? ? ? ? 從用戶發(fā)起一個請求,從DNS分流,到中間的反向代理,再到應用服務的分流等,經(jīng)歷了一層有一層,達到了服務水平拓展的目的,以應對目前龐大的數(shù)據(jù)流量。

1.DNS分流

???????DNS功能即指域名系統(tǒng),在萬維網(wǎng)中,我們訪問他人服務,即是訪問他人ip,但是ip不便于記憶,此時域名系統(tǒng)就出現(xiàn)了。通過域名與ip的相互映射,我們可以不用記憶ip,而是通過域名去訪問目標服務,而DNS系統(tǒng)即是一個域名與ip地址相互映射的分布式數(shù)據(jù)庫,我們訪問域名是,經(jīng)歷了以下步驟:

域名與ip之間有映射關系,但是大多數(shù)情況下卻不是一一對應的,我們可以將多個ip映射到同一個域名,因為用戶是通過域名去進行訪問的,具體訪問哪個地址,則有DNS服務器的映射記錄和一定的負載均衡算法來決定,用戶拿到具體ip后再去訪問,而這個過程對用戶來說完全是透明的,通過DNS分流完成了第一步的負載均衡:

2.硬件分流

???????通過硬件設備,在網(wǎng)絡流量進入服務之前進行流量的分流,通過各種策略,分散到不同的服務器。常見的如F5負載均衡器。

3.四層負載

???????四層負載主要是指OSI七層模型中,工作在第四次tcp層的負載均衡,主要是通過修改報文中的目標地址和端口,再加上一定的負載均衡策略,選擇最終處理的服務器,如lvs。由此可以想到,其實還有二層負載和三層負載,通過虛擬mac地址或者虛擬ip地址來接收請求然后再分流到真實的mac地址或者ip地址。這幾種負載方式都是不關心具體的上層協(xié)議,只負責修改數(shù)據(jù)的流向。

4.七層負載

???????七層負載也稱“內(nèi)容負載”,是根據(jù)具體的應用層內(nèi)容,更加智能的選擇具體內(nèi)部服務。如更具請求的url信息等,選擇具體的應用服務器來進行相應處理,如nginx。

5.客戶端分流

???????前面的負載均衡除了DNS以外,都有一個點來分發(fā)具體的流量,我們稱為服務器分流。當用戶請求到達了真正的應用服務器以后,請求還會細分,而同一類的請求的服務可能還是集群,例如如今的微服務架構。這時可以使用應用框架來完成服務請求的分流,如dubbo以及springCloud的Ribbon組件等,這些由服務自己決定的分流方式稱為客戶端分流。

6.數(shù)據(jù)層分流

???????在應用服務器的背后,是數(shù)據(jù)層,各種緩存以及持久化數(shù)據(jù)庫等。對于到達數(shù)據(jù)層的請求,我們也可以進行相應的負載均衡處理,如redis的主從讀寫分

離集群、分片集群等,mysql的主從讀寫、分區(qū)分表分庫等。

【End】

推薦閱讀:

Java 最常見的 200+ 面試題

關注下方二維碼,訂閱更多精彩內(nèi)容。

轉(zhuǎn)發(fā)朋友圈,是對我最大的支持。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的负载均衡实现的几种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。