知乎專欄 | 多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者” |
集群有很多實現方法,分為硬件和軟件,集群可以在不同網絡層面上實現
實現IP輪循(Bind DNS)
硬件四層交換(硬件負載均衡設備 F5 BIG IP)
軟件四層交換(linux virtual server)
應用層上實現(tomcat)
越是低層性能越好,越是上層功能更強
集群的分類
高可用性集群
負載均衡集群
超級計算集群
網站一般用到兩種集群分別是高可用性集群和負載均衡集群
這是早期出現的負載均衡技術,直到現在,很多網站仍然使用DNS負載均衡。
你可通過ping命令觀看它是如何工作的,例如你可反覆ping個網域名。
C:\>ping www.163.com Pinging www.cache.split.netease.com [220.181.28.52] with 32 bytes of data: Reply from 220.181.28.52: bytes=32 time=226ms TTL=53 Reply from 220.181.28.52: bytes=32 time=225ms TTL=53 Reply from 220.181.28.52: bytes=32 time=226ms TTL=53 Reply from 220.181.28.52: bytes=32 time=226ms TTL=53 Ping statistics for 220.181.28.52: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 225ms, Maximum = 226ms, Average = 225ms C:\>ping www.163.com Pinging www.cache.split.netease.com [220.181.28.53] with 32 bytes of data: Reply from 220.181.28.53: bytes=32 time=52ms TTL=52 Reply from 220.181.28.53: bytes=32 time=53ms TTL=52 Reply from 220.181.28.53: bytes=32 time=52ms TTL=52 Reply from 220.181.28.53: bytes=32 time=52ms TTL=52 Ping statistics for 220.181.28.53: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 52ms, Maximum = 53ms, Average = 52ms C:\>ping www.163.com Pinging www.cache.split.netease.com [220.181.28.50] with 32 bytes of data: Reply from 220.181.28.50: bytes=32 time=51ms TTL=53 Reply from 220.181.28.50: bytes=32 time=52ms TTL=53 Reply from 220.181.28.50: bytes=32 time=52ms TTL=53 Reply from 220.181.28.50: bytes=32 time=51ms TTL=53 Ping statistics for 220.181.28.50: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 51ms, Maximum = 52ms, Average = 51ms C:\>
DNS負載均衡主要優點
技術簡單,容易實現,靈活,方便,成本低
Web伺服器可以位於互聯網的任意位置上,無地理限制。
DNS的主從結構非常穩定
可以有效的分散DDOS攻擊。
你甚至可以在DNS服務商那裡實現,自己不需要添加設備。而且沒有頻寬開銷。
DNS負載均衡主要缺點
DNS負載均衡採用的是簡單的輪循負載算法,不能夠按照伺服器節點的處理能力分配負載。
不支持故障轉移(failover)和自動恢復failback ,如果某台伺服器拓機,DNS仍會將用戶解析到這台故障伺服器上,導致不能響應客戶端。
如果添加節點或撤出節點,不能即時更新到省市級DNS,可導致部分地區不能訪問。
占用大量靜態IP。
軟件四層交換負載均衡為我們解決了幾個問題
能夠按照伺服器節點的處理能力分配負載。
支持故障轉移(failover)和自動恢復failback ,如果某節點拓機,調度器自動將它剔除,不響應客戶端訪問,當節點故障排除調度器立即恢復節點。
可以隨時添加節點或撤出節點,即時生效,方便網站擴容。
軟件四層交換負載均衡優點
僅僅需要一個靜態IP。
節點位於私有網絡上與WAN隔離,用戶面對的只是調度器。
可以隨時添加節點或撤出節點。
通過連接埠可以組建多個集群。
俗稱:雙機熱備份
關鍵詞:心跳綫
兩部伺服器,或多部伺服器,形成一個集群,當主伺服器崩潰是,立即切換到其它節點上。
兩部伺服器要做到,內容實時同步,保持數據一直。
一般用 heartbeat + DRBD 實現。heartbeat負責切換伺服器,DRBD用於同步數據。
負載均衡成熟產品
F5 Big IP
Array
這些設備可提供3,4,7層負載均衡HA,硬件已經壓縮,HTTP頭改寫,URL改寫...
其中3層交換部分多採用硬件實現。