lvs是linux virtual server
的縮寫,意思是
linux
虛擬伺服器,早在
2.4核心就已經合併入
linux//
阿里/lvs;下圖是
lvs在常用網際網路應用架構中的位置:
lvs處於最前端,用於將使用者請求**到後端的多台
webserver
上。
lvs引入virtual server
的概念,使用者的請求由
virtual server
按一定負載均衡策略(如,
round-robin
)**到多台後端
webserver
上,後端
webserver
被稱為realserver
。注:當前,無論是
lvs還是商業
lb均採用了
virtualserver
的概念。
對於使用者來說,其一直和
virtual server
通訊,不用關心後端有哪些
realserver
;對於服務**來說,其可以根據請求規模擴大/
縮減realserver
數量,而不需要通知使用者。
介紹到這,可能有人會問,在
lvs出現以前,還有哪些
lb技術?
lvs比這些技術好在**?
why lvs
? 在這之前,普遍使用
dns技術來實現
loadbalance
,例如,
www.taobao.com
這個網域名稱在
dns中配置對應5個
ip位址(5臺
apache server
);dns
伺服器一般會採用
round-robin
的策略返回
ip位址給使用者,從而實現流量在5臺
apache server
間的負載均衡。注1
:dns
技術介紹參見:
注2:常用的
dns開源軟體是
bind
,參見:
lvs相比,
dns有如下不足:
1. 一台
apache server down
後,dns
中刪除相應
ip,刪除生效時間不可控
;(local dns
不一定嚴格遵守約定的
ttl);2.
負載均衡策略單一,只支援
wrr(
weight-round-ro
salesforce 架構設計 從架構設計到架構師
因為碎片化的時間多了,所以開始刷起某乎了,關注了架構相關的板塊,也順手回答了一些問題。發現有很多同道中人正在經歷著我前兩年經歷的階段,對於做架構沒有相對具象的一些理解,更沒有系統化的認識。所以把最近回答的一些內容整理一下,權當記錄,留給3年後的自己 按慣例,容許我裝x開頭 一 架構的定義 在軟體開發...
mysql架構設計 初識mysql架構設計
一 應用系統如何與mysql進行一次互動?最開始接觸jdbc的時候,我們系統如何完成一次sql操作呢?第一步,建立資料庫連線 第二步,操作sql 第三步,釋放連線。但是每次建立與資料庫的連線非常耗時和資源,所以我們加入了連線池的概念。第一步的獲取連線是從連線池中獲取乙個可用的連線,第三步的釋放連線不...
軟體架構設計 二 系統總體架構設計
系統總體架構非常重要,但在表達上都不盡相同,下面介紹幾種常用的系統架構模式,供參考 assf access service biz standard fundation 模式 訪問 服務 業務功能 標準 基礎,對系統架構各個層次均有表達,但部署應用模式需要有單獨說明,如下圖方式組織系統總體架構 lo...