Dragonfly,一個RAM數據緩存系統

蜻蜓

Dragonfly 是為現代應用程序工作負載構建的內存數據存儲。

前幾天公佈了 發布 Dragonfly 內存緩存和數據存儲系統, 它以鍵/值格式操作數據,可用作輕量級解決方案,通過緩存對 DBMS 的慢速查詢和 RAM 中的中間數據來加速高負載站點。

蜻蜓 支持 Memcached 和 Redis 協議, 允許您使用現有的客戶端庫並將使用 Memcached 和 Redis 的項目移植到 Dragonfly,而無需重新編寫代碼。

值得一提的是蜻蜓 最近收到更新, 達到其 1.0 版,其中 突出實現對數據複製的支持 從主服務器到輔助服務器。

與此同時,蜻蜓 可以配置為用作輔助存儲 它接受來自基於 Dragonfly 和 Redis 的主服務器的數據。 複製管理 API 與 Redis 兼容,並基於 ROLE 和 REPLICAOF (SLAVEOF) 命令的使用。

關於蜻蜓

多線程架構實現高性能 不共享資源(無共享),這意味著一個單獨的控制器附加到每個線程,每個線程都有自己的數據,無需互斥鎖或自旋鎖。

輕量級 VLL 鎖用於保證處理多個鍵時的原子性,因為為了將信息有效地存儲在內存中,使用了 dashtable 結構,它實現了一種分區哈希表。

與 Redis 相比,Dragonfly 擁有 25 倍的性能提升 (每秒 3,8 萬個請求)在 Amazon EC2 c6gn.16xlarge 環境中的典型工作負載下。 與 AWS c6gn.16xlarge 環境中的 Memcached 相比,Dragonfly 每秒能夠完成 4,7 倍的寫入請求(3,8 萬對 806k)和每秒 1,77 倍的讀取請求(3,7 萬對 2,1 萬)。

在 5 GB 存儲測試中, Dragonfly 需要的內存比 Redis 少 30%。 在使用“bgsave”命令創建快照的過程中,內存消耗增加,但在高峰期它幾乎比 Redis 少三倍,而且快照寫入操作本身要快得多(在 Redis 的情況下)。測試,a快照在 Dragonfly 上用了 30 秒,在 Redis 上用了 42 秒)。

一些 蜻蜓的特點是:

  • 一種緩存模式,一旦可用內存耗盡,就會自動用新數據替換舊數據。
  • 支持數據綁定生命週期,在此期間數據被認為是最新的。
  • 支持在後台將存儲狀態刷新到磁盤,以便稍後在重啟後恢復。
  • 存在用於系統管理的 HTTP 控制台(綁定在 TCP 端口 6379)和用於返回指標的 API,與 Prometheus 兼容。
  • 支持 185 個 Redis 命令,大致相當於 Redis 5 版本的功能。
  • 支持除 CAS(驗證和配置)之外的所有 Memcached 命令。
  • 支持異步操作創建快照。
  • 可預測的內存消耗。
  • 集成 Lua 解釋器 5.4。
  • 支持哈希、集合、列表(ZSET、HSET、LIST、SETS 和 STRING)和 JSON 數據等複雜數據類型。
  • 存儲複製支持故障轉移和負載平衡。

對於那些對 Dragonfly 代碼感興趣的人,你應該知道這個 是用 C/C++ 編寫的,分佈在 執照 BSL .BSL的本質是擴展功能代碼最初是可以修改的,但是有一段時間只能免費使用,需要附加條件,需要購買商業許可才能繞過。

Dragonfly 項目的附加許可條款要求在 2.0 年 15 月 2028 日將代碼遷移到 Apache License XNUMX。在此之前,該許可僅允許使用代碼以確保其服務和產品的運行,但禁止使用創建付費作為 Dragonfly 插件的雲服務。

終於 如果您有興趣了解更多信息,您可以在中查看詳細信息 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。