啄木鳥

在 Milvus 2.6 中,Woodpecker 取代 Kafka 和 Pulsar,成為專為雲端原生的先寫日誌 (WAL) 系統。Woodpecker 專為物件儲存而設計,可簡化作業、最大化吞吐量,並輕鬆擴充。

Woodpecker 的設計目標:

  • 雲端環境中的最高吞吐量

  • 可靠復原的持久、僅附加記錄

  • 無需本機磁碟或外部經紀人,可將作業開銷降至最低

零磁碟架構

Woodpecker 的核心創新是其零磁碟架構:

  • 所有日誌資料都儲存在雲端物件儲存(例如 Amazon S3、Google Cloud Storage 或 Alibaba OS)
  • 透過分散式鍵值儲存etcd)管理元資料
  • 核心作業不需依賴本機磁碟

woodpecker layers 啄木鳥層級

架構元件

標準的 Woodpecker 部署包括以下元件:

  • 用戶端:用於發出讀寫請求的介面層
  • LogStore:管理高速寫入緩衝、異步上傳存儲和日誌壓縮
  • 儲存後端:支援可擴充、低成本的儲存服務,例如 S3、GCS 及檔案系統 (例如 EFS)
  • Etcd:在分散式節點間儲存元資料並協調日誌狀態

部署模式

Woodpecker 提供兩種部署模式,以符合您的特定需求:

MemoryBuffer - 輕量且免於維護

MemoryBuffer 模式提供了一個簡單、輕量的部署選項,Woodpecker 的嵌入式用戶端會在記憶體中暫時緩衝寫入的內容,並定期將其刷新至雲端物件儲存服務。在此模式下,記憶體緩衝直接嵌入客戶端,在刷新到 S3 之前實現了高效的批次處理。元資料使用etcd管理,以確保一致性和協調性。此模式最適合用於較小規模部署中的批次繁重工作負載,或將簡單性置於效能之上的生產環境,尤其是在低寫入延遲並非關鍵的情況下。此模式的寫入延遲一般在 200-500 毫秒之間。

woodpecker memory mode deployment 啄木鳥記憶體模式部署

QuorumBuffer - 優化為低延遲、高耐用性

QuorumBuffer 模式專為對延遲敏感的高頻率讀/寫工作負載而設計,這些工作負載同時需要實時的回應能力和強大的容錯能力。在此模式下,Woodpecker 的用戶端會與三個副本的 quorum 系統互動,以提供高速寫入緩衝,並透過分散式共識確保強大的一致性和高可用性。

一旦用戶端成功將資料複製到三個法定節點中的至少兩個,即視為寫入成功,通常在個位數毫秒內完成,之後,資料會以非同步方式刷新到雲端物件儲存空間,以獲得長期耐用性。此架構可將節點上的狀態降至最低,不需要大型本機磁碟區,並避免傳統法定人數系統常見的複雜反熵修復。

結果是一個簡化、穩健的 WAL 層,非常適合對一致性、可用性和快速復原要求極高的關鍵任務生產環境。

woodpecker quorum mode deployment 啄木鸟法定人数模式部署

性能基準

我們執行了全面的基準來評估 Woodpecker 在單結點、單用戶端、單記錄流設定中的效能。與 Kafka 和 Pulsar 相比,結果令人印象深刻:

系統卡夫卡PulsarWP MinioWP LocalWP S3
吞吐量129.96MB/s107MB/s71MB/s450MB/s750MB/s
延遲58ms35ms184ms1.8ms166ms

為了說明情況,我們在測試機器上測量了不同儲存後端的理論吞吐量限制:

  • MinIO: ~110 MB/s
  • 本機檔案系統:600-750 MB/s
  • Amazon S3(單個 EC2 實例):高達 1.1 GB/秒

值得注意的是,Woodpecker 對於每個後端都持續達到最大可能吞吐量的 60-80%,對於中介軟體來說,這是一個非凡的效率水準。

關鍵性能洞察

  • 本地檔案系統模式:Woodpecker 的速度達到 450 MB/s,比 Kafka 快 3.5 倍,比 Pulsar 快 4.2 倍,超低延遲僅為 1.8 ms,非常適合高效能單節點部署。
  • 雲端儲存模式 (S3):直接寫入 S3 時,Woodpecker 達到 750 MB/s(約為 S3 理論極限的 68%),比 Kafka 高 5.8 倍,比 Pulsar 高 7 倍。雖然延遲較高 (166 毫秒),但此設定可為面向批次的工作負載提供優異的吞吐量。
  • 物件儲存模式 (MinIO):即使使用 MinIO,Woodpecker 也能達到 71 MB/s,約為 MinIO 容量的 65%。此性能可與 Kafka 和 Pulsar 媲美,但對資源的需求明顯較低。

Woodpecker 特別針對並發、大容量寫入進行了優化,在這種情況下,維持順序至關重要。而這些結果只反映出開發的早期階段 - 在 I/O 合併、智慧緩衝和預取方面持續進行的最佳化,可望讓效能更接近理論極限。

營運效益

Woodpecker 的雲原生架構提供了顯著的營運優勢:

  • 零本機儲存管理:消除磁碟卷管理、RAID 配置和硬體故障
  • 自動擴充:儲存空間可隨雲端物件儲存擴充,無需容量規劃
  • 成本效益:隨用隨付的儲存空間,可自動分層與壓縮
  • 高可用性:利用雲端供應商的 11-nines 耐用性與快速復原
  • 簡化部署:兩種部署模式 (MemoryBuffer/QuorumBuffer) 符合不同的作業需求
  • 開發人員友善:更快的環境設定,所有環境的架構一致

這些優勢讓 Woodpecker 對於關鍵任務的 RAG、AI 代理和低延遲搜尋工作負載特別有價值,在這些工作負載中,作業簡單性與效能同樣重要。

免費嘗試托管的 Milvus

Zilliz Cloud 無縫接入,由 Milvus 提供動力,速度提升 10 倍。

開始使用
反饋

這個頁面有幫助嗎?