DLB 連線負載平衡器

此連線負載平衡器擴充功能透過與 Intel DLB 透過 libdlb 程式庫整合,為 Envoy 提供低延遲網路功能。

DLB 連線負載平衡器僅包含在 contrib 映像檔 中。

範例組態

DLB 連線負載平衡器組態的範例如下

static_resources:
  listeners:
  - connection_balance_config:
      extend_balance:
        name: envoy.network.connection_balance.dlb
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.network.connection_balance.dlb.v3alpha.Dlb

運作方式

如果啟用,DLB 連線負載平衡器將會

  • 附加 DLB 硬體

  • 建立一個用於負載平衡的佇列

  • 為每個工作執行緒建立一個用於傳送和一個用於接收的埠

  • 為每個工作執行緒建立一個 eventfd,並將每個 eventfd 附加到對應的客戶端

  • 將每個 eventfd 註冊到對應的客戶端和 DLB 硬體

當有新連線進入時,一個工作執行緒將會接受它並將其傳送到 DLB 硬體。DLB 硬體會進行負載平衡,然後透過 libevent 觸發一個工作執行緒來接收。

安裝 DLB

有關如何建置/安裝和使用 libdlb 的資訊,請參閱入門指南