佇列處理的優點
設計新的應用程式時,開發人員必須考慮編碼元件對於即時(同步)處理與佇列(異步)處理的影響。 選擇取決於基礎商業規則所決定的特定應用程式需求。 作為指導方針,佇列處理比實時處理提供下列優點:
- 降低對元件可用性的相依性
- 較短的元件存留期
- 使用中斷連線的應用程式時,不間斷的生產力
- 訊息可靠性
- 有效率的伺服器排程
元件可用性
在即時處理應用程式中,如果只有一個交易元件無法使用,可能是因為伺服器多載或網路問題,則整個進程會遭到封鎖且無法完成。 相反地,使用 COM+ 佇列元件服務的應用程式會將交易分成現在必須完成的活動,以及稍後可以完成的活動。 例如,訊息可以排入佇列以供稍後處理,讓要求元件可供其他工作使用。
元件存留期
使用佇列元件服務的應用程式可讓伺服器元件獨立於客戶端運作。 因此,伺服器元件可以更快速地完成。 在即時系統中,伺服器元件會從建立到對象最終釋放為止存在。 伺服器會等候客戶端進行方法呼叫,並傳回結果,這會否定伺服器物件的快速迴圈,並限制伺服器延展性。
中斷連線的應用程式
越來越多的膝上型計算機、筆記本和棕櫚計算機使用已建立應用程式的需求,應用程式偶爾會中斷用戶端或行動使用者的連線。 在已排入佇列的系統中,這些使用者可以繼續在中斷連線的情況下或未連線到伺服器時運作,而稍後可以連線到資料庫或伺服器來處理其要求。 例如,銷售人員可以從客戶取得訂單,稍後再連線到貨運部門來處理這些訂單。
如果您有可以執行已連線或中斷連線的元件,訊息會以單一方向移動,而且很少需要來回切換。 例如,在訂購案例中,出貨元件會收到訊息並加以處理。 它可能會產生另一個用於計費或稽核的元件。 用戶端會在伺服器開始之前認可。 在應用程式認可之前,不會傳送訊息。
下圖顯示中斷連線案例中的資訊流程。
訊息可靠性
消息佇列是一個功能強大的工具,使用資料庫技術來協助以健全的方式保護數據。 發生伺服器失敗時,消息佇列可確保交易會回復,讓訊息不會遺失,而且數據不會損毀。
伺服器排程
使用佇列元件的應用程式非常適合時間移轉的元件執行,它會將不關鍵的工作延遲到離峰期間。 這是套用至傳統批次模式處理的相同實用概念。 伺服器可以延遲類似的要求,以便連續執行,而不是要求伺服器立即回應各種不同的要求。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應