您好,登錄后才能下訂單哦!
眾所周知,谷歌對其數據中心一直實行著嚴格的保密,不過同屬著名科技公司的Facebook卻不是這樣。近日,這家社交媒體巨頭以開源的方式發布了兩款重要工具——而這兩款工具曾只在其內部使用。
其一是Katran,這個負載均衡器的作用是使該公司的數據中心不會過載,它是GNU通用公共許可證v2.0下的開放源碼,可以從GitHub上獲得。除了Katran之外,該公司還提供了關于Zero Touch Provisioning tool的詳細信息,該工具用于幫助工程師自動化其構建主干網絡時所需的大部分工作。
這并不是Facebook第一次嘗試開源軟件。上個月,該公司開放了PyTorch的源代碼,這是一款用于人工智能(AI)和機器學習項目的軟件。PyTorch是一個基于python的包,用于編寫張量計算和使用GPU加速的深度神經網絡。
這類軟件包是Facebook必須自主開發的,盡管市面上有很多現成的軟件產品,但并沒有哪一款是為一家擁有20億用戶的全球社交媒體公司開發的。
Facebook負載均衡工具的詳細信息
這則消息來自Facebook的生產工程師Nikita Shirokov和軟件工程師Ranjeeth Dasineni的博客。兩人表示,該公司此前曾開發過自己的負載平衡軟件,主要基于開源軟件。四年來,它提供了很好的服務,但隨著時間的流逝,也開始顯示出它的局限性。
他們寫道,負載均衡器必須滿足四個標準:必須在普通的Linux服務器上運行;與給定服務器上的其他服務共存,消除對專用負載平衡服務器的需求;允許low-disruption維護;儀器安裝和調試簡單。
Shirokov和Dasineni說,他們的第一個軟件定義的負載均衡器稱為第四層負載均衡器(Layer 4 load balancer或簡稱L4LB),在與其他服務標準(特別是后端)共存時出現了不足。
“在第二個迭代中,我們利用了eXpress Data Path (XDP)框架和新的BPF虛擬機(eBPF)來運行軟件負載均衡器,以及大量機器上的后端。”他們寫道。
Facebook的零接觸服務開通工具的詳細信息
Facebook的零接觸服務開通(ZTP,Zero Touch Provisioning) 工具背后的細節也來自大約三周前Facebook的一些工程師寫的一篇博文。ZTP允許你自動地在你的網絡中提供新的交換機和路由器,不需要人工干預。
對于像Facebook這樣規模的公司來說,必須建立自己的網絡,這就是它需要一個ZTP工具的原因。與負載平衡一樣,該公司發現現有的ZTP工具不足以處理Facebook運行的業務規模。
“最終,這些挑戰促使Facebook的網絡工程師去開發一種全新的網絡部署工作流方法。”博客作者說。
因此,它創建了一個名為Vending Machine(“自動售貨機”)的新框架,只是在這里,輸入的是設備角色、位置和平臺,而不是投進去硬幣然后得到一瓶飲料。ZTP仍在發展中,Facebook也在增加新的功能和功能。
Facebook尚未披露ZTP的許可證。就像Katran一樣,如果你決定使用這些工具,一切只能靠自己。一個“善良”的Facebook工程師也許會幫助回答一些使用中遇到的問題,但官方也許不會提供支持文檔之類的。所以,筆者也很好奇誰會真正使用這些軟件,因為它們并不是中小型企業的“菜”。它看起來是為大型企業設計的,而且多數大型企業都有自己的平臺。當然,這個只是一面之詞,不是絕對的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。