服務匯流排和卓越營運
利用訊息佇列完全管理企業訊息代理程式,以及使用 Azure 服務匯流排發佈/訂閱主題。 此服務可將訊息儲存在「訊息代理程式」(例如,佇列) 中,直到取用方準備接收這些訊息為止。
好處包括:
- 在競爭的背景工作之間進行工作的負載平衡。
- 跨服務和應用程式界限安全地路由和傳輸資料與控制。
- 協調需要高度可靠性的交易式工作。
如需使用服務匯流排的詳細資訊,請參閱 Azure 服務匯流排傳訊。 了解如何設定傳訊功能,以連接橫跨內部部署和雲端環境的應用程式和服務。
若要了解服務匯流排如何提升卓越營運,請參閱以下主題:
下列各節專門探討 Azure 服務匯流排和卓越營運:
- 設計考量
- 設定檢查清單
- 建議設定選項
- 來源成品
設計考量
使用 Azure 服務匯流排運作時間服務等級協定 (SLA) 最大化可靠性。 適當設定的應用程式可以傳送或接收訊息,或對已部署的佇列或主題進行其他作業。 如需詳細資訊,請參閱服務匯流排 SLA。
其他設計考量包括:
除了服務匯流排進階版和標準傳訊層的文件之外,下列功能只適用於進階版庫存單位 (SKU):
- 專用資源。
- 虛擬網路整合:限制可連接到服務匯流排執行個體的網路。 需要在子網路上啟用服務端點。 實作虛擬網路時,有不支援的受信任 Microsoft 服務 (例如,與事件方格的整合)。 如需詳細資訊,請參閱允許從特定虛擬網路存取 Azure 服務匯流排命名空間。
- 私人端點。
- IP 篩選/防火牆:限制僅限已定義
IPv4
位址或IPv4
位址範圍的連線。 - 可用性區域:可免費在單一區域中的可用性區域間散佈複本,而提供更高的可用性。
- 事件方格整合:可用的事件類型。
- 調整傳訊單位。
- 異地災害復原 (配對的命名空間)。
- BYOK (攜帶您自己的金鑰):Azure 服務匯流排會將待用資料加密,並在存取時自動將其解密,但客戶也可以攜帶自己的客戶自控金鑰。
使用異地災害復原和可用性區域部署服務匯流排時,服務等級目標 (SLO) 會大幅增加,但不會變更運作時間 SLA。
檢查清單
設定 Azure 服務匯流排時,您是否考量到卓越營運?
- 確定已正確處理服務匯流排傳訊例外狀況。
- 使用進階訊息佇列通訊協定 (AMQP) 連接至服務匯流排,並盡可能使用服務端點或私人端點。
- 建立程序,以主動監視無效信件佇列 (dlq) 訊息。
- 檢閱使用服務匯流排傳訊的效能改進最佳做法。
- 分析 Azure 儲存體佇列與 Azure 服務匯流排佇列之間的差異。
組態建議
設定 Azure 服務匯流排時,請考慮下列建議以達成可靠性最佳化:
建議 | 描述 |
---|---|
使用 AMQP 通訊協定連接至服務匯流排,並盡可能使用服務端點或私人端點。 | 此建議會將流量保留在 Azure 骨幹上。
注意:Microsoft.Azure.ServiceBus 和 Windows.Azure.ServiceBus 命名空間的預設連線通訊協定為 AMQP 。 |
建立程序,以主動監視無效信件佇列 (dlq) 訊息。 | 無效信件佇列會保存無法處理或無法傳遞給任何接收者的訊息。 務必監視此佇列以檢查問題原因、套用必要的更正,以及重新提交訊息。 |
分析 Azure 儲存體佇列與 Azure 服務匯流排佇列之間的差異。 | 您會發現 Azure 服務匯流排訊息實體比 Azure 儲存體佇列更進階、可靠且功能豐富。 如果您需要簡單的佇列訊息,而不需要提供可靠的訊息,則 Azure 儲存體佇列可能是更適合的選項。 |
來源成品
若要找出未使用私人端點的進階版服務匯流排執行個體,請使用下列查詢:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier == 'Premium' and isempty(properties.privateEndpointConnections)
若要識別未使用進階版層的服務匯流排執行個體,請使用下列查詢:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier != 'Premium'