海量運維常用技術之----HAProxy網站負載均衡應用(獲獎名單已公布-9-11)

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

海量運維常用技術之----HAProxy網站負載均衡應用(獲獎名單已公布-9-11)

獲獎名單已公布,詳情請看:http://bbs.chinaunix.net/thread-4098333-1-1.html

近期CU版主gray1982的網站成功上線並運營了,PV達到了億級/日的訪問量,最前端用的是HAProxy+Keepalived雙機作的負載均衡器/反向代理,整個網站非常穩定;這讓我更堅定了HAProxy+Keepalived作為Web最前端的負載均衡器網站架構設計方案,在這裡我也有一點要跟大家申明下:很多朋友擔心軟體級別的負載均衡在高併發流量衝擊下的穩定情況,事實是我們通過成功上線的許多網站發現,HAProxy作為前端的負載均衡的穩定性是非常好的,宕機的可能性微乎其微,由於HAProxy我們多用於7層負載均衡,在大流量的衝出去下,發現確實對CPU有一定消耗,這裡大家用DELL 710 | 910伺服器。另外,HAProxy不僅僅只能做七層負載均衡,它還可以做四層負載均衡的,由於它跟LVS一樣,僅僅只是做為負載均衡專用,所以在轉發及處理流量的效率上,理論是優於Nginx的。現在網上LVS/Nginx的資料太多了,所以大家的關注度自然也高,其實HAProxy也是很不錯的,所以網站有負載均衡需求的朋友,不妨考慮試用下HAProxy。

活動組織:
余洪春(撫琴煮酒)《構建高可用Linux伺服器(第1-2版)》一書作者,系統架構師,ChinaUnix集群和高可用版版主。

本期話題:
話題1:討論下HAProxy的正則語法,看它是如何做動靜分離及針對文件後綴名的分發等等。
話題2:看看大家是採用HAProxy+Keepalived還是HAProxy+Heartbeat哪種雙機方案。
話題3: 以真實案例(可做無害處理)來說明1和2這兩個話題。

活動時間:2013.7.9——2013.7.31

邀請嘉賓:
老男孩 (老男孩linux培訓)老男孩Linux實戰運維培訓中心總裁
周華飛 北京弘睿千里信息技術有限公司認證部經理
崔曉輝( coralzd )  大眾網高級系統管理員
劉晗昭(wenzizone)  高級架構師
胡安偉(king_819)   系統運維主管,CU自動化運維版版主
劉鑫 (gray1982)    高級系統運維工程師,CU集群和高可用版版主
余洪春(撫琴煮酒)   資深項目實施工程師、系統架構師

活動禮品:
積极參与話題討論的10位CUer,可獲得《構建高可用Linux伺服器(第2版)》圖書一本


《解決方案》

沙發支持下.
沒用過HaProxy.目前在用Nginx的負載均衡,主要應用是web的負載均衡,所以還沒使用HaProxy.
坐等使用過的童鞋來討論.

btw:看過一些HaProxy的配置的文檔,有一個疑問,所有的配置的例子,偵聽的IP與RealIP都是在同一個網段的,這個是硬性限制(類似LVS)還是偵聽IP與RealIP可以是不同網段的,請各位嘉賓解釋下.
《解決方案》

沒使用過,但是用過Hheartbeat+DRBD 做集群。關注。
《解決方案》

回復 1# send_linux
好活動,支持啊。

據一個阿里的兄弟說,HAProxy 的性能是優於 Nginx 的。


   
《解決方案》

回復 1# send_linux

話題1:討論下HAProxy的正則語法,看它是如何做動靜分離及針對文件後綴名的分發等等。
HAProxy 支持 GNU 標準的正則以及 PCRE,編譯的時候通過修改 Makefile 實現。個人建議使用 PCRE。

此外,HAProxy 也實現了自己的 ACL 機制。前兩天簡單寫了 HAProxy rules 的分析,介紹了 ACL 相關的實現,歡迎大家交流和指正。
HAProxy 研究筆記 -- rules 實現


   
《解決方案》

本帖最後由 Godbach 於 2013-07-09 23:11 編輯

回復 2# chenyx

btw:看過一些HaProxy的配置的文檔,有一個疑問,所有的配置的例子,偵聽的IP與RealIP都是在同一個網段的,這個是硬性限制(類似LVS)還是偵聽IP與RealIP可以是不同網段的,請各位嘉賓解釋下.

不是嘉賓,我來嘗試解釋一下。:mrgreen:

這裡沒有硬限制的。frontend 中的 IP 和 backend 中 server 的 IP 沒有要求必須是同一個網段,只要路由能找到得到 server 就行, server 甚至可以是一個可以解析到的 hostname,見手冊 server 配置的介紹:
server <name> <address>[:]
...
<address> is the IPv4 or IPv6 address of the server. Alternatively, a
          resolvable hostname is supported, but this name will be resolved
          during start-up.

frontend 的 IP 和server是一個網段比較貼近實際應用。
《解決方案》

問題1、前端用的是HAProxy+Keepalived雙機作的負載均衡器/反向代理,是「負載均衡器和反向代理」,還是「負載均衡器或者反向代理」?
問題2、後端怎麼弄?
面對億級的衝擊,不能把所有的用戶都留在登陸頁面吧。
《解決方案》

Godbach 發表於 2013-07-09 23:10 static/image/common/back.gif
回復 2# chenyx




呵呵,老版主最近改變了研究方向啊
《解決方案》

沒用過haproxy,只用過lvs+keepalived,不知道haproxy和lvs相比怎樣?
(以前用heartbeat複雜且不是很理想,後來換成了keepalived)
《解決方案》

作為代理, haproxy的監控頁面比較nginix強大
比較關心問題2
heartbeat和keepalived這兩個在實際應用中有什麼差別
heartbeat的組件比較多,功能似乎更強大些, keepalived簡單很多,實際的功效如何?
為何有人說haproxy搭配heartbeat好?




[火星人 ] 海量運維常用技術之----HAProxy網站負載均衡應用(獲獎名單已公布-9-11)已經有619次圍觀

http://coctec.com/docs/service/show-post-3888.html