傳輸中樞動態 pub-sub 傳訊系統

Azure Cache for Redis
Azure Cosmos DB
Azure 事件中樞
Azure Functions
Azure 服務匯流排

解決方案構想

本文是解決方案概念。 如果您想要以更多資訊擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應讓我們知道。

本文說明資料產生者和取用者建立及取用已驗證、策劃的內容或資料的彈性 發佈-訂閱模型

架構

傳輸中樞發佈-訂閱傳訊系統的圖表。

下載這個架構的 Visio 檔案

資料流程

  1. 資料產生者應用程式會將資料發佈至Azure 事件中樞,將資料傳送至Azure Functions事件處理函式。

  2. 資料產生者也會傳送 JSON 架構來儲存在 Azure 儲存體容器中。

  3. 事件處理函式會從Azure Cache for Redis擷取 JSON 架構,以減少延遲,並使用架構來驗證資料。

    如果尚未快取架構, 事件處理 函式會從 Azure 儲存體容器擷取架構。 架構的要求也會將架構儲存在Azure Cache for Redis中,以供日後擷取。

    注意

    事件中樞中的 Azure 架構登錄可以是儲存和快取 JSON 架構的可行替代方案。 如需詳細資訊,請參閱 事件中樞中的 Azure 架構登錄 (Preview)

  4. 如果主題已經存在且資料有效,事件處理函式會將資料合併至現有的有效資料Azure 服務匯流排主題,並將主題傳送至資料取用者應用程式。

  5. 如果主題已經存在且資料無效, 事件處理 函式會將資料合併至現有的 「無效資料 服務匯流排」主題,並將主題傳回資料產生者。 資料產生者訂閱 不正確資料 主題,以取得產生者所建立之無效資料的意見反應。

  6. 如果主題尚不存在, 事件處理 函式會將新資料發佈至 新的資料 服務匯流排主題,並將主題傳送至 服務匯流排主題管理員函 式。

  7. 如果新資料有效, 事件處理 函式也會將資料插入為 Azure Cosmos DB 中的新 快照集資料 記錄。

  8. 如果新資料有效, 服務匯流排主題管理員 函式會建立新的 有效資料 服務匯流排主題,並將主題傳送至事件中樞。

  9. 如果新資料無效, 服務匯流排主題管理員 函式會建立新的 無效資料 服務匯流排主題,並將主題傳回 資料產生者 應用程式。

  10. Azure Data Factory中的快照集資料一般檔案處理器會依排程執行,以從快照集資料Azure Cosmos DB 資料庫擷取所有快照集資料。 處理器會建立一般檔案,並將其發佈至 Azure 儲存體中的 快照式資料一般檔案 以進行下載。

  11. 資料取用者應用程式會擷取服務匯流排主題管理員可供訂用帳戶使用的所有服務匯流排主題清單。 應用程式會向 服務匯流排主題管理員 註冊,以訂閱服務匯流排主題。

單元

實例詳細資料

傳輸中樞是一種動態 發佈訂閱模型 ,可供資料生產者和資料取用者建立及取用已驗證、策劃的內容或資料。 此模型是彈性的,可允許調整和效能。 資料產生者可以快速上線並將資料上傳至服務。 服務會根據資料產生者所提供的架構來驗證資料。 服務接著會讓已驗證的資料可供訂閱者取用他們感興趣的資料。

驗證資料的服務不需要知道承載,只對產生者提供的架構有效。 這種彈性表示服務可以接受新的承載類型,而不需要重新部署。 此解決方案也可讓資料取用者取得在取用者訂閱之前發佈的歷程記錄資料。

潛在使用案例

此模型在下列案例中特別有用:

  • 使用者磁片區和狀態不明或無法預測的傳訊系統
  • 發佈可能需要支援新資料來源或未知資料來源的系統
  • 需要持續更新資料並快取以進行快速傳遞的商務或票證系統

參與者

本文由 Microsoft 維護。 最初是由下列參與者所撰寫。

主體作者:

若要查看非公用LinkedIn設定檔,請登入 LinkedIn。

下一步