由阿里巴巴集團貢獻的Dragonfly專案,已經離開雲端原生運算基金會(Cloud Native Computing Foundation,CNCF)的沙盒階段,進入了孵化器階段。Dragonfly專案是一個專用於Kubernetes的雲端原生映像檔和檔案發布系統,目前專案的維護者來自阿里巴巴、eBay、美圖、VMware以及蝦皮等20多家企業。

在2015年的時候,阿里雲創建Dragonfly專案,目的是要改善Kubernetes中映像檔和檔案發布系統的使用者體驗,讓用戶可以專注於開發應用程式,而不用花額外的心力管理基礎架構,Dragonfly為阿里巴巴容器平臺中的骨幹技術,每年支援數十億次的應用程式交付。Dragonfly在2018年的時候被CNCF沙盒接收,並被中國移動、滴滴和螞蟻金服等企業採用。

Dragonfly由三個主要元件組成,來解決雲端原生的檔案發布問題,三個主要元件分別是超級節點、dfget以及dfdaemon;超級節點為主要在同儕網路中,調度以及控制所有發布程序的重要角色,而dfget則為一個同儕代理,用來下載檔案片段,另外,dfdaemon則為一個代理伺服器,能夠攔截從容器引擎到dfget的映像檔下載請求。

透過P2P映像檔和檔案發布協定,Dragonfly能有效減輕映像檔註冊表和網路的負載,以提升使用者體驗,由於P2P技術可以充分利用每個同儕的頻寬資源提升下載速率,能節省大量的跨IDC頻寬以及昂貴的跨境頻寬。

Dragonfly也提供使用者主機層級的速度限制,由於wget或是curl等檔案下載與續傳工具,僅能限制當前下載任務的速度,而Dragonfly則提供對整個主機的速度限制功能;其支援各種容器技術,用戶可以依需求選用來發布映像檔,另外,Dragonfly提供CDN機制,可以避免重複的遠端下載行為。

Dragonfly與其他許多的CNCF專案整合,包括Prometheus、containerd、Kubernetes以及Helm,最新版本Dragonfly 1.0,已經用程式語言Go全部重寫,使其提高在雲端情境中,可發揮靈活與可擴展性,在GitHub中獲4,600顆星,專案發起人Sheng Liang認為,隨著全球的企業與組織,開始將工作負載搬遷到雲端上,則Dragonfly的採用率將會上升。


Advertisement

更多 iThome相關內容