谷歌開源負載均衡軟件 Seesaw v2
來自: http://chinagdg.org/2016/01/谷歌開源負載均衡軟件-seesaw-v2/
英文原文: Seesaw: scalable and robust load balancing
作者:Joel Sing,谷歌網站可靠性工程師;翻譯:Guokai Han 。
就像所有好的項目一樣,這個項目也是為了解決實際問題而產生的。
作為網站可靠性工程師,我們負責管理 Google 公司的基礎設施。我們平時需要處理大量的內部使用的服務,而這些服務需要負載均衡來保障其可伸縮性和可靠性。在 2012 年,我們有兩個不同的平臺來提供負載均衡,它們都有不同程度的管理和穩定性的挑戰。為了緩解這方面的問題,我們團隊開始著手尋找一個替代的負載均衡平臺。
在評估了一些包括現有的開源項目的平臺之后,我們沒能找出一個能夠滿足我們所有需求的平臺,所以我們決定自己著手開發一個可靠和可伸縮的負載均衡平臺。需求并不太復雜,我們需要能夠處理單播(unicast)和任播(anycast)虛擬 IP ( VIPs ) 流量,使用 NAT 和 DSR (也被稱為 DR) 執行負載均衡,執行針對后端的健康檢查。特別是,我們需要一個容易管理的平臺,可以自動部署配置的變化。
現有的兩個平臺之一是基于 Linux LVS 構建的,它在網絡層提供了必要的負載均衡。這方面已被證明是成功的,所以我們選擇在新的平臺中保留它。在項目初期我們就確定了幾個設計決定,首先是使用 Go 語言 ,因為它提供了實現并發的強大方法(goroutines 和 channels) 以及方便的進程間通信( net/rpc )機制。其次是要實現一個模塊化的多進程架構。第三,如果遇到了未知狀態,能夠簡單地退出(abort)和終止(terminate)進程,這種情況理想上是做故障轉移和/或自我恢復。
經過一段時間地集中開發,作為現有兩個平臺的替代品,我們完成并成功部署了 Seesaw v2 。總體而言,它讓我們提高了服務可用性并降低了管理開銷。我們很高興能夠把它分享出來,希望其他企業也能夠從中受益。Seesaw v2 的項目地址是: https://github.com/google/seesaw 。
Post Views: 4
除非特別聲明,此文章內容采用 知識共享署名 3.0 許可,代碼示例采用 Apache 2.0 許可。更多細節請查看我們的 服務條款 。
</div>