Azure Event Hubs 是一個完全託管的即時資料串流平台,能以低延遲每秒接收數百萬事件。 作為內建 Apache Kafka 相容性的原生 Azure 服務,Event Hubs 讓你能在不修改程式碼或叢集管理負擔的情況下執行現有的 Kafka 工作負載。
組織利用事件中心建立物聯網遙測、應用程式日誌、點擊流分析、財務交易處理及其他需要高吞吐量且可靠事件擷取的情境的資料管線。 Event Hubs 與 Azure 分析服務整合,實現即時洞察與長期資料保存。
速覽
| Attribute | 詳細資訊 |
|---|---|
| 服務類型 | 全管理事件串流平台(PaaS) |
| 支援的協定 | Apache Kafka, AMQP 1.0, HTTPS |
| 資料保留 | 標準版最多可延長 7 天,高級/專用版則可延長 90 天 |
| 定價層 | 標準、高級、專用 |
| SLA 協定 | 最高可達99.99% |
為什麼選擇 Azure Event Hubs?
- 零基礎設施管理:全託管服務,具備自動修補、擴展與監控功能。 沒有叢集需要配置或維護。
- 企業級可靠性:最高達 99.99% SLA,並支援可用性區域及 地理複製 以維持業務連續性。
- 沒有複雜性的 Kafka:以更高成本效益且無營運開銷的方式運行 Kafka 工作負載。 不需要另外的 Kafka 叢集。
- 無縫 Azure 整合:原生整合 Stream Analytics、 Azure Functions、 Data Explorer 及其他多種 Azure 服務。
- 彈性定價:可選擇以用電量為基礎或專用容量模型。 根據需求從MB擴展到TB。
何時使用活動中心
Event Hubs 專為高吞吐量、低延遲的事件串流場景設計。 考慮使用 Event Hubs,當你需要以下情況時:
| Scenario | Description |
|---|---|
| 即時分析 | 處理串流資料以產生即時洞察、儀表板與警示 |
| 物聯網遙測擷取 | 從數百萬個物聯網感測器、車輛或工業設備收集裝置資料 |
| 應用程式記錄檔 | 集中管理分散式應用程式的日誌,以便監控與排除故障 |
| 瀏覽軌跡分析 | 分析網路與行動應用程式間的使用者行為模式 |
| 金融交易 | 處理高量交易數據、詐欺偵測訊號及支付事件 |
| 事件溯源 | 實作具有持久且有序事件儲存的事件驅動架構 |
在 Azure 訊息服務間的選擇
Azure 提供多種訊息服務。 請參考本指南選擇合適的服務:
| 服務 | 適用對象 | 訊息模式 |
|---|---|---|
| 事件中樞 | 高吞吐量事件串流、遙測、日誌聚合 | 許多生產者、眾多消費者、按時間順序排列的事件 |
| 服務匯流排 | 企業訊息傳遞,包括交易功能、會話功能、死信處理功能 | 具備傳遞保證的點對點或發佈 / 訂閱 |
| 事件方格 | 反應式事件驅動架構,無伺服器觸發器 | 採用推送模式的事件路由與過濾 |
詳細指引請參閱「 選擇 Azure 訊息服務」。
運作方式
Event Hubs 提供一個統一的串流平台,具有基於時間的資料保留功能,將事件生產者與消費端分離。 兩者都能透過多種協定執行大規模資料擷取與處理。
核心元件
| 元件 | Description |
|---|---|
| 製作人應用程式 | 使用 Event Hubs SDK、Kafka 製作客戶端或 HTTPS 將事件傳送到事件中心的應用程式 |
| 命名空間 | 一個或多個活動中心的管理容器。 處理串流容量、網路安全及命名空間層級的地理災難復原 |
| 活動中心 / 卡夫卡主題 | 用來組織事件的僅附加分散式記錄。 包含以平行處理的一個或多個分割區 |
| Partitions | 有序事件序列用於擴展吞吐量。 可以把分區想像成高速公路上的車道——分區越多,吞吐量越高 |
| 消費者應用 | 應用程式會追蹤每個分割區中的位置 (位移) 來讀取事件。 可以使用 Event Hubs SDK 或 Kafka 消費者客戶端 |
| 取用者群組 | 事件中樞的邏輯檢視,可讓多個取用者應用程式各自獨立讀取相同的串流,並各自維護其位置 |
事件流程
- Ingest:製作人應用程式將事件傳送到活動中心。 事件會根據分割鍵或循環分配分配到分割區。
- 儲存:事件會以可設定的保留天數(1 到 90 天,視方案等級而定)耐久保存。 擷取功能也能將事件寫入長期儲存。
- 程序:消費者應用程式透過消費者群組從分割區讀取事件。 每位使用者都會利用 檢查點 追蹤其位移量,以確保處理的可靠性。
詳細說明請參閱 活動中心功能。
主要能力
核心平台特色
Apache Kafka 相容性
Event Hubs 是一款多協定事件串流引擎,原生支援 Apache Kafka、AMQP 1.0 及 HTTPS。 你可以將 Kafka 工作負載帶到 Event Hubs,無需修改程式碼、叢集管理或第三方 Kafka 服務。
Event Hubs 以雲端原生代理引擎打造,提供比自我管理 Kafka 叢集更佳的效能與成本效益。 如需詳細資訊,請參閱適用於 Apache Kafka 的 Azure 事件中樞。
靈活擴展
從以兆位元組為單位的資料串流開始,逐步擴展到吉字節或太字節。 自動擴展功能會自動調整吞吐量單位以滿足需求。 對於可預測的高負載工作負載, 專用叢集 提供預留容量。
大型訊息支援功能(預覽)
大多數串流情境涉及低於 1 MB 的輕量級訊息,而 Event Hubs 則可透過 專用叢集容納最高 20 MB 的活動。 欲了解更多資訊,請參閱 「發送與接收大型訊息」。
數據管理
結構描述登錄
Azure Schema Registry 提供一個集中式的儲存庫,用以管理事件串流應用程式的結構。 它確保生產者與消費者間的資料相容性與一致性,支援架構演進,並能與使用 Avro 和 JSON 架構的 Kafka 應用程式整合。
擷取
將你的串流資料近乎即時擷取到 Azure Blob Storage 或 Azure Data Lake Storage 進行長期保存或批次分析。 擷取會自動在用於即時處理的同一串流上執行。
Azure 整合
串流分析整合
Event Hubs 與 Azure Stream Analytics 整合,實現即時串流處理。 您可以使用內建的無程式碼編輯器,具備拖放功能,或為複雜的轉換撰寫基於 SQL 的查詢。
欲了解更多資訊,請參閱 使用串流分析的流程事件中心資料。
Azure Data Explorer 整合
Azure Data Explorer 提供對大量串流資料的高效能分析。 將事件中心與資料探索器整合,實現近乎即時的分析與探索。
欲了解更多資訊,請參閱 「從事件中心擷取資料至 Azure 資料總管」。
Azure Functions 與無伺服器架構
Event Hubs 與 Azure Functions 整合,實現無伺服器事件處理。 該生態系統也支援 Azure Spring Apps、Kafka Connectors、Apache Spark 及 Apache Flink。
本地開發
Event Hubs 模擬器提供本地開發體驗,讓程式能獨立開發與測試服務內容,擺脫雲端依賴。
用戶端程式庫
Event Hubs 提供 .NET、Java、Python、JavaScript 及 Go 的 用戶端函式庫 。 這些 SDK 支援 AMQP 與 Kafka 協定,讓您能選擇最適合您應用的方案。
監測
利用 Azure Monitor 的指標、診斷日誌和警示來監控事件中心。 追蹤吞吐量、延遲、錯誤及消費者延遲,以確保最佳效能。
安全性與合規性
Event Hubs 提供企業級安全功能:
| 特徵 / 功能 | Description |
|---|---|
| 驗證 | Microsoft Entra ID 具備基於角色的存取控制(RBAC)、 共享存取簽章或 管理身份 |
| 網路安全性 | 專用連結用於私密連線、VNet 服務端點及 IP 防火牆規則 |
| 加密 | 靜態資料以 Microsoft 管理或 客戶管理的金鑰加密,傳輸中資料採用 TLS 1.2 |
欲了解更多資訊,請參閱 Event Hubs 安全基準。
高可用性和災害復原
Event Hubs 提供多層可靠性:
- 可用性區域:區域備援部署會在區域內的可用性區域之間散發複本 (進階層與專用層)
- 地理災難復原: Geo-DR 允許透過元資料同步切換至次要區域
- SLA 保證:依等級與配置,最高可達 99.99% 可用性
價格階層
有關最新價格及詳細功能比較,請參閱 活動中心的定價 與 配額與限制。