共用方式為


Azure 服務匯流排 - 進階功能

服務匯流排包含多項進階功能,可供您解決較為複雜的傳訊問題。 本文將介紹其中的幾個特點。

訊息工作階段

若要在服務匯流排中建立先進先出 (FIFO) 保證,請使用工作階段。 訊息工作階段可供相關訊息的無限序列進行專門的排序處理。 為了能夠在大規模、高可用性系統中處理會話,會話功能還允許儲存會話狀態,使會話能夠在處理程序之間安全地移動。 如需詳細資訊,請參閱訊息工作階段:先進先出 (FIFO)

自動轉送

自動轉送功能可將佇列或訂用帳戶鏈結至相同命名空間中的另一個佇列或主題。 使用此功能時,服務匯流排會自動將訊息從佇列或訂閱移至目標佇列或主題。 所有這些操作都是透過交易完成的。 如需詳細資訊,請參閱將服務匯流排實體連結起來並自動轉發

無效信件佇列

所有服務匯流排佇列和主題訂閱都有關聯的無效信件佇列 (DLQ)。 DLQ 會保留符合下列準則的訊息:

  • 它們無法成功送達任何收件人。
  • 訊息已逾時。
  • 接收應用程式已明確排除訊息。

無效信件佇列中的郵件會標註其被放入該佇列的原因。 無效信件佇列有一個特殊的端點,但除此之外,它的行為與任何普通隊列一樣。 應用程式或工具可以瀏覽 DLQ 或從中清除佇列。 您也可以從無效信件佇列進行自動轉寄。 如需詳細資訊,請參閱服務匯流排寄不出的信件佇列的概觀

排定的傳遞

您可以將訊息提交到佇列或主題進行延遲處理,並設定訊息可供消費的時間。 也可以取消已安排發送的訊息。 如需詳細資訊,請參閱排程訊息

訊息延遲

佇列或訂閱客戶端可以將接收到的訊息的檢索延遲到稍後的時間。 訊息的發送順序可能與預期不符,客戶端希望等到收到另一條訊息後再處理。 延遲訊息仍保留在佇列或訂閱中,必須使用其服務分配的序號明確重新啟用。 如需其他資訊,請參閱訊息延遲

交易

交易會將兩個或多個作業歸為一個執行範圍。 服務匯流排可讓您在單一交易的範圍內對多個訊息傳遞實體進行操作。 訊息實體可為佇列、主題或訂用帳戶。 如需詳細資訊,請參閱服務匯流排交易處理概觀

閒置時自動刪除

空閒時自動刪除功能可讓您指定空閒時間間隔,在此時間間隔過後,佇列或主題訂閱將自動刪除。 當訂閱中新增或刪除訊息時,間隔將被重置。 最短持續時間為 5 分鐘。 如需有關實體閒置的概觀,請參閱閒置

重複資料偵測

重複檢測功能允許發送方再次發送相同的訊息,並允許代理刪除潛在的重複訊息。 如需詳細資訊,請參閱重複偵測

訊息的批次刪除

Azure 服務匯流排支援分批次刪除訊息。 當佇列或訂閱中的消息過期或不再相關,需要進行清理時,此功能非常有用。 如需詳細資訊,請參閱批次刪除

支援排序

支援順序功能可讓您指定發送到某個主題的訊息是否按傳送順序轉送至訂閱。 此功能不支援分區主題。 如需詳細資訊,請參閱 .NET 中的 TopicProperties.SupportOrdering 或 JAVA 中的 TopicProperties.setOrderingSupported

Geo-Replication

當 Azure 區域發生停機時,Geo-Replication 功能允許訊息處理在其他區域繼續運作。 此功能維持命名空間及其資料在次要區域的結構鏡像,並允許命名空間切換至任何一個次要區域。 欲了解更多資訊,請參閱 Azure Service Bus 地理複寫。 此功能是 保護 Azure 服務匯流排應用程式免受中斷與災難的選項之一。

安全性

服務匯流排支援標準 進階訊息佇列通訊協定 (AMQP) 1.0HTTP 或 REST 通訊協定及其各自的安全功能,包括傳輸層級安全性 (TLS)。 您可以使用共用存取簽章Microsoft Entra ID 角色型安全性,將存取權授與用戶端。

為了防止未經授權的流量,服務匯流排提供了 IP 防火牆和與虛擬網路整合等安全功能

請參閱服務匯流排傳訊範例,示範如何使用這些服務匯流排功能。