Garnet:微軟官方基于.NET開(kāi)源的高性能分布式緩存存儲(chǔ)數(shù)據(jù)庫(kù)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
前言前不久Redis宣布從 Redis 7.4 開(kāi)始,將原先比較寬松的 BSD 源碼使用協(xié)議修改為 RSALv2 和 SSPLv1 協(xié)議,該協(xié)議變化意味著Redis不再開(kāi)源。今天給大家分享一款完全開(kāi)源(MIT協(xié)議)、免費(fèi)的Redis替代性項(xiàng)目產(chǎn)品:Garnet。
Garnet項(xiàng)目介紹Garnet是一款由微軟研究院基于.NET開(kāi)源的高性能、跨平臺(tái)的分布式緩存存儲(chǔ)數(shù)據(jù)庫(kù),該項(xiàng)目提供強(qiáng)大的性能(吞吐量和延遲)、可擴(kuò)展性、存儲(chǔ)、恢復(fù)、集群分片、密鑰遷移和復(fù)制功能。并且無(wú)需做任何修改可以與現(xiàn)有的 Redis 客戶端配合使用。 Garnet獨(dú)特優(yōu)勢(shì)協(xié)議兼容性: Garnet 采用流行的 RESP 線路協(xié)議作為起點(diǎn),這使得可以從當(dāng)今大多數(shù)編程語(yǔ)言( 性能優(yōu)勢(shì): 相比同類(lèi)開(kāi)源緩存存儲(chǔ),Garnet在處理多客戶端連接和小批量請(qǐng)求時(shí)表現(xiàn)更優(yōu),提供更好的吞吐量和可擴(kuò)展性,從而節(jié)省成本。 低延遲: 在Azure VM上展示了極低的客戶端延遲,通常低于300微秒,對(duì)于實(shí)際場(chǎng)景至關(guān)重要。 技術(shù)特點(diǎn): 基于最新的.NET技術(shù),具有跨平臺(tái)、可擴(kuò)展和現(xiàn)代化的特點(diǎn),易于開(kāi)發(fā)和維護(hù),并在Linux和Windows上實(shí)現(xiàn)了最先進(jìn)的性能。 Garnet項(xiàng)目源代碼Garnet性能優(yōu)勢(shì)
我們預(yù)配兩個(gè)運(yùn)行 Linux (Ubuntu 20.04) 的 Azure 標(biāo)準(zhǔn) F72s v2 虛擬機(jī)(每個(gè)虛擬機(jī) 72 個(gè) vcpu,144 GiB 內(nèi)存),并啟用加速 TCP。這個(gè)SKU的好處是我們保證不會(huì)與另一個(gè)VM共置,這將優(yōu)化性能。一臺(tái)機(jī)器運(yùn)行不同的緩存存儲(chǔ)服務(wù)器,另一臺(tái)機(jī)器專(zhuān)門(mén)用于發(fā)布工作負(fù)載。我們使用名為 Resp.benchmark 的基準(zhǔn)測(cè)試工具來(lái)生成所有結(jié)果。在撰寫(xiě)本文時(shí),我們將 Garnet 與最新開(kāi)源版本的 Redis (v7.2)、KeyDB (v6.3.4) 和 Dragonfly (v6.2.11) 進(jìn)行了比較。 吞吐量獲取數(shù)據(jù)庫(kù)大小為 (a) 1024 個(gè)鍵和 (b) 2.56 億個(gè)鍵時(shí)的吞吐量(對(duì)數(shù)尺度)、不同數(shù)量的客戶端會(huì)話: 數(shù)據(jù)庫(kù)大小為 (a) 1024 個(gè)鍵和 (b) 2.56 億個(gè)鍵時(shí)的吞吐量(對(duì)數(shù)規(guī)模)、不同的批量大小: 延遲獲取/設(shè)置延遲、不同客戶端會(huì)話數(shù)量(a)中值、(b)第 99 個(gè)百分位和(c)第 99.9 個(gè)百分位: 不同批量大小下的延遲(a)中值、(b)第 99 個(gè)百分位數(shù)和(c)第 99.9 個(gè)百分位數(shù): 項(xiàng)目源碼地址更多項(xiàng)目實(shí)用功能和特性歡迎前往項(xiàng)目開(kāi)源地址查看??,別忘了給項(xiàng)目一個(gè)Star支持??。
該文章在 2024/11/6 10:12:28 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |