選擇 Azure 事件中樞

已完成

有些應用程式會從許多來源產生大量事件。 這些情況通常會使用「巨量資料」一詞,它們需要唯一的基礎結構來處理。

假設您任職於 Contoso Aircraft Engines。 您雇主製造的引擎有數百個感應器。 每天早上飛機起飛之前,其引擎都會連線到測試載入器以測試其性能。 此外,當飛機連線到地面設備時,會串流處理快取的飛行資料。

您想要使用歷史感應器資料,在感應器讀數中尋找指出引擎失敗可能即將發生的模式。 您想要根據這些失敗模式來比較即時感應器讀數。 然後,您可以在引擎顯示令人擔憂的讀數時,近乎即時地警告使用者。

什麼是 Azure 事件中樞?

事件中樞是發佈/訂閱通訊模式的媒介。 但與事件方格的不同之處在於其經過最佳化處理,特別適合超高輸送量、大量發行者、安全性與復原功能需求。

相較於「事件方格」近乎完美貼近發佈/訂閱模式 (它只需要管理訂用帳戶並將通訊路由至這些訂閱者),事件中樞會執行一些額外的服務。 這些其他服務讓它看起來更像是服務匯流排或訊息佇列,而不只是簡單的事件廣播者。

資料分割

事件中樞會將收到的通訊分成幾個分割區。 分割區是儲存通訊的緩衝區。 因為有事件緩衝區,事件不會全部都是暫時的,而不會只因為訂閱者忙碌或甚至離線就遺失事件。 訂閱者一律可以使用緩衝區來「趕上」。根據預設,事件於自動到期前 24 小時會保留在緩衝區中。 這些緩衝區稱為分割區,因為資料是在其間進行分割。 每個分割區都有一組個別的訂閱者。

Capture

事件中樞可將您所有的事件立即傳送至 Azure Data Lake 或 Azure Blob 儲存體,以降低永久保存成本。

驗證

所有發行者都會經過驗證並發行權杖。 這表示事件中樞可接受來自外部裝置和行動應用程式的事件,而不必擔心來自惡作劇者的詐騙資料會破壞我們的分析。

使用事件中樞

事件中樞支援將事件資料流傳送至其他 Azure 服務。 若搭配 Azure 串流分析用於執行個體,即可使用相互關聯多個事件並尋找模式的功能,近乎即時地對資料進行複雜的分析。 在此情況下,串流分析會視為訂閱者。

針對我們的飛機引擎,我們將設定架構,讓事件中樞驗證來自引擎的通訊。 然後,我們會讓它使用擷取將所有資料儲存在 Data Lake。 接下來我們就可以使用所有資料重新定型及改善我們的機器學習模型。 最後,串流分析訂閱者會挑選我們的事件串流。 串流分析會使用我們的機器學習模型,來尋找感應器資料中可能表示問題的模式。

由於我們有數個分割區,而且每個引擎會將其所有資料只傳送至一個分割區,因此串流分析訂閱者的每個執行個體只需要處理整體資料的子集即可。 不必篩選及相互關聯所有資料。

我該選取哪項服務?

就像佇列選擇一樣,在這兩個事件傳遞服務之間選取,一開始有點麻煩。 這兩者都支援「至少一次」語意。

若為下列狀況,請選擇事件中樞:

  • 您需要支援驗證大量的發行者。
  • 您需要將事件資料流儲存至 Data Lake 或 Blob 儲存體。
  • 您需要事件資料流的相關彙總或分析。
  • 您需要可靠的傳訊或復原能力。

否則,如果您需要具有信任發行者的簡單事件發佈訂閱基礎結構 (例如您自己的網頁伺服器),您應該選擇「事件方格」。

事件中樞可讓您建置每秒處理數百萬事件且低延遲的巨量資料管線。 其可以處理並行來源的資料,並將它路由至不同的資料流處理基礎結構和分析服務。 它可讓您即時處理,並支援重複重送儲存的未經處理資料。