SDN能在伺服器的負載均衡上起作用嗎?
完全可以呀,都軟體定義了,隨意搞了
我只是搞學術研究(即寫寫水文,目標是畢業)的,我看的論文裡面說可以,能提高網路的吞吐率,與伺服器的負載均衡應該可以扯上一些關係。但是實際部署的時候不知道有沒有問題。這幾年學術會議上關於SDN與雲數據中心結合的論文也比較多。
附論文如下: Ananta: Cloud Scale Load Balancing。SIGCOMM 2014。這篇文章的Keywords: Software Defined Networking; Distributed Systems;
Server Load Balancing
Datacenter Networks SIGCOMM 2015.這篇文章還沒怎麼看,看這個題目像。供作者參考吧對了,你可以看看Presto這篇的相關研究,他對目前的SDN與負載均衡的做法有個小綜述
搞個ecmp路徑,控制器下一個openflow組表,組表包含一個規則和幾個需要均衡的組表項,包進到交換機後跳到這個組表,根據既定規則做硬體選擇一組表項達到流量負載均衡
剛好我們公司就是在做這方面產品的,目前基於SDN的負載均衡產品已經在全國部分知名IDC機房部署。
基於SDN實現負載均衡確實有很多好處。首先是性能,利用OPENFLOW協議在交換機上實現負載均衡性能比傳統軟、硬體實現負載均衡的性能至少高一到兩個數量級。第二是可靠性,傳統軟體、硬體往往都採用代理轉發的方式,負載均衡器依然是整個系統的單點,而利用SDN實現的負載均衡方案並不需要額外的代理設備,減少了單點。第三是成本,因為直接在交換機上實現了負載均衡功能,不需要額外設備,自然成本就低了。
目前我們說的SDN主要指OPENFLOW協議,在OPENFLOW協議中其實是有提供負載均衡相關的功能的,控制器可以定義一個組表(group),當組表類型為SELECT時,交換機從該組表所包含的多條路徑中選擇一條進行轉發,這樣其實就已經完成了一個基本的二層負載均衡的核心功能。
看著很簡單是不是,但這只是理論上的實現方式,實際情況是市面上很多標榜自己支持OPENFLOW的交換機只能支持一些基礎功能,而SELECT就往往不被這些交換機所支持。
另外我們已經實現了,可以參考解決方案:極互科技-數據中心級負載均衡
至於具體的技術細節,碼字太累了,,,,哪天有空再來探討下。
Hedera就是較早的用SDN做load balancing的工作,在NSDI上發表。SDN可以處理大流,小流無力處理因為太多了。
不知道題目中的負載均衡到底是針對網路還是伺服器本身的workload,樓主澄清一下比較好我有一個疑問,雲集群伺服器負載均衡和SDN負載均衡對比如何?
微軟的Ananta論文中提到了SDN在負載均衡服務中的優勢。
沒有SDN話,有些功能要做到同樣的效果,就得寫內核模塊hack協議棧。
我這周就測出來個有關的bug。我感覺同事定位這個bug不容易啊,對交換機,協議棧都得熟。他說了,搞得不好,內核會掛。。。正好在看Google關於B4的論文,Google的B4網路結構應該就是用SDN實現了更高效的負載均衡,具體看論文吧,我也正在看
。。還不是很懂
推薦閱讀: