網易這回良心了:
7月16日,網易公司旗下雲服務商網易數帆宣布開源一款名為 Curve 的高性能分布式存儲系統,官方稱其性能可達 Ceph 的 1.84 倍。
據官方介紹,Curve 的定位是提供一個高性能、低延遲的存儲底座,基於這個存儲底座,企業可以打造適用於不同應用場景的存儲系統,如塊存儲、對象存儲、雲原生數據庫等。
CURVE 的設計開發始終圍繞三個理念:
一是順應當前存儲硬件設施發展趨勢,做到軟硬件結合打造頂級的存儲產品;
二是秉持 “Simple Can be harder than complex”,了解問題本質情況下選擇最簡單的方案解決問題;
三是擁抱開源,在充分調研的前提下使用優秀的開源項目組件,避免造輪子。
當前網易基於 CURVE 已經實現了高性能塊存儲系統,支持快照克隆和恢復 ,支持 QEMU 虛擬機和物理機 NBD 設備兩種掛載方式, 在網易內部作為高性能雲盤使用。
目前,網易數帆已經實現了高性能塊存儲系統。根據項目文檔介紹,Curve 主要具有三大特性:高性能、高可用和自治。
1、高性能
Curve 團隊參考了業界一些高效的開源存儲系統,設計了一個新架構以實現高性能低延遲的核心能力。采用 brpc 保證網絡數據流的高性能和低延遲,基於 braft 實現多副本一致性下的低延遲,並對 braft 的快照實現進行了進一步的優化。
磁盤 IO 方面,Curve 通過更細粒度的地址空間的 hash 減少 IO 碰撞,增加 IO 並發度,並采用 chunkfilepool 減小 IO 放大倍數,從而最大限度地發揮硬件的性能。
網易公布了 Curve 和 Ceph L 版本的測試數據對比,在單卷的場景下,核心的 4K 隨機讀/寫的IOPS 性能,Curve 分別是 Ceph 的 1.84 倍和 1.58 倍,同時延遲相比 Ceph 分別降低 48.39%和 37.50%。
圖:Curve與Ceph性能測試對比
2、高可用
Curve 被設計為核心組件都能容忍部分實例失敗而不影響整個集群的可用性。
網易介紹,無論是單台存儲故障,還是系統擴容,Curve 的客戶端 IO 都不會受到影響,插拔硬盤、服務進程中斷這些常見異常,IO 抖動也很小。
當然,故障恢復過程對上層 IO 也不會造成明顯影響。
3、自治
Curve 可實現一鍵部署、一鍵升級,運維只要很少的人工干預,並基於 bvar、Promethues 和 Grafana 等開源項目打造了全面的度量標准和告警體系。
目前,基於 Curve 的高性能塊存儲系統已經應用在網易的一些核心業務中,支持快照克隆和恢復, 支持 QEMU 虛擬機和物理機 NBD 設備兩種掛載方式。
網易介紹,系統上線至今 400 多天,尚未出現數據不一致和丟數據的情況,也沒有發生過重大故障,具備相當的可靠性和成熟度。
網易透露,Curve 目前還有一些創新的性能優化工作尚未完成,如細粒度哈希、io_uring 落盤方案,項目團隊下一階段的主要任務就是解決這些問題,預計完成優化之后下個版本還會有 30% 的性能提升。
鑒於目前開源領域還沒有足夠高性能和低延遲的分布式存儲系統,網易數帆方面表示希望把 Curve 開源出來,回饋社區,讓業界一起來使用它,也希望大家一起參與把 Curve 打造得越來越好。
**開源地址: **
https://github.com/opencurve/curve
文章整理轉載自 OSCHINA 社區 [http://www.oschina.net]
www.oschina.net/news/117237/netease-opensource-curve
https://www.oschina.net/p/curve
關注公眾號Java技術棧回復"面試"獲取我整理的2020最全面試題及答案。
推薦去我的博客閱讀更多:
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
覺得不錯,別忘了點贊+轉發哦!