性能1.84倍於Ceph!網易數帆Curve分佈式存儲開源

2020071893390083.jpg
王治治丨發自 思否編輯部git

在上週的網易數字+大會上,網易數帆宣佈:開源一款名爲Curve的高性能分佈式存儲系統,性能可達Ceph的1.84倍!github

網易副總裁、網易杭州研究院執行院長兼網易數帆總經理汪源:

基礎軟件的能力對於數字化轉型很是關鍵,當前存儲領域須要一款性能更高、可用性/可靠性更好、自治能力更強的分佈式存儲系統,Curve的開源不只表明網易數帆在基礎軟件市場的堅持,也爲軟件定義基礎設施生態的繁榮再添一把火。數據庫

採用先進架構設計,單卷性能1.84倍於Ceph

Curve的定位,是提供一個高性能、低延遲的存儲底座,基於這個存儲底座,企業能夠打造適用於不一樣應用場景的存儲系統,如塊存儲、對象存儲、雲原生數據庫等。目前,網易數帆已經實現了高性能塊存儲系統。 segmentfault

汪源介紹,Curve主要具備三大設計特色:高性能、高可用和自治性能優化

高性能源自先進架構。Curve參考了業界的存儲系統,採用先進、高效的開源技術,設計了一個新架構實現高性能低延遲的核心能力,採用高性能的RPC框架來保障網絡數據流的高性能和低延遲,基於Raft協議實現多副本一致性下的低延遲,並針對Raft協議的快照實現進一步優化。磁盤IO方面,Curve經過更細粒度的地址空間的hash減小IO碰撞,增長IO併發度,並採用chunkfilepool減少IO放大倍數,從而最大限度地發揮硬件的性能。網絡

汪源公佈了Curve和CephL版本的測試數據對比,在單卷的場景下,核心的4K隨機讀/寫的IOPS性能,Curve分別是Ceph的1.84倍和1.58倍,同時延遲相比Ceph分別下降48.39%和37.50%。架構

他在採訪中透露,Curve還有一些創新的性能優化工做還沒有完成,如細粒度哈希、io_uring落盤方案,預計完成優化以後下個版本還會有30%的性能提高。換句話說,Curve單卷性能將會達到Ceph的2倍以上。性能差別來自架構設計的不一樣選擇,分佈式一致性Curve採用了Quorum機制,而Ceph實現強一致性,前者延遲優於後者,並且能夠在不太影響IO性能的狀況下能從故障中快速恢復。併發


Curve與Ceph性能測試對比框架

高可用方面,Curve被設計爲核心組件都能容忍部分實例失敗而不影響整個集羣的可用性。汪源介紹,不管是單臺存儲故障,仍是系統擴容,Curve的客戶端IO都不會受到絲毫的影響,插拔硬盤、服務進程中斷這些常見異常,IO抖動也很小。固然,故障恢復過程對上層IO也不會形成明顯影響。運維

此外,在自治方面,Curve實現了一鍵部署、一鍵升級,運維只要不多的人工干預,並基於Promethues和Grafana等開源技術打造了全面的度量標準和告警體系。

回饋開源,強化軟件定義基礎設施短板

基於Curve的高性能塊存儲系統已經做爲應用在網易的一些核心業務中,支持快照克隆和恢復, 支持QEMU虛擬機和物理機NBD設備兩種掛載方式。

系統上線至今400多天,從未出現數據不一致和丟數據的狀況,沒有發生太重大故障,數據可靠性達到100%,服務可用率達到4個9以上。線上環境的異常演練,也證明了異常對業務的影響如上文所述。但對於網易數帆來講,這個成績只是Curve征途的開始。

鑑於目前開源領域尚未足夠高性能和低延遲的分佈式存儲系統,汪源宣佈,網易數帆把Curve開源出來,回饋社區,讓業界一塊兒來使用它,也但願你們一塊兒參與把Curve打造得愈來愈好。

Curve項目的最新穩定版本已經上傳到Github,並提供了部署文檔。做爲生長於中國本土的項目,Curve首先提供中文文檔,但願下降中文用戶嚐鮮的門檻。對Curve感興趣的朋友,能夠經過opencurve.github.io獲取更多信息啦。

segmentfault

相關文章
相關標籤/搜索