Queue Storage 概觀

開發 Azure 事件導向與訊息導向解決方案

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

訊息佇列入門

背景工作與訊息佇列

開發 Azure 事件導向與訊息導向解決方案

訊息佇列概觀

  • 雲端版待辦清單。
  • 非同步,不中斷使用者。
  • 處理輕量訊息。
  • 背景工作者處理訊息。

訊息佇列

開發 Azure 事件導向與訊息導向解決方案

Queue Storage 概觀

  • Azure Queue Storage 是在 Azure 設定訊息佇列最簡單的方式。

  • 應用程式使用 connection string 連到佇列。

  • 訊息依加入佇列的順序處理。

Azure Queue Storage

開發 Azure 事件導向與訊息導向解決方案

佇列觸發器

  • 每則訊息由 queue trigger 接手。

  • 成功處理後,訊息會自佇列消失

  • 觸發器使用 connection string 連到佇列。

  • 只要佇列有訊息,函式就會自動執行。

佇列觸發器

開發 Azure 事件導向與訊息導向解決方案

錯誤處理

毒性佇列

  • 若處理訊息時 queue trigger 失敗,會回傳錯誤。

  • 訊息會自主佇列移除並放入 poison queue

  • 可避免失敗訊息堵塞主佇列

  • 失敗訊息可之後處理或檢視

開發 Azure 事件導向與訊息導向解決方案

延遲與批次

訊息延遲

  • 排程稍後送出
  • 透過初始不可見延遲達成

批次處理

  • 多則訊息以批次處理
  • 提升吞吐量
  • 系統更快

訊息延遲

訊息批次

開發 Azure 事件導向與訊息導向解決方案

訊息 vs 事件

  • 以訊息為基礎:
    • 針對特定消費者。
    • 拉取導向。
  • 以事件為基礎:
    • 代表發生了某件事。
    • 推送導向。
  • 何時使用:
    • 佇列用於可靠的背景工作。
    • 事件用於通知獨立服務發生了事情。

事件導向 vs 訊息導向

開發 Azure 事件導向與訊息導向解決方案

一起來練習吧!

開發 Azure 事件導向與訊息導向解決方案

Preparing Video For Download...