交易式消息佇列
交易是一系列的數據存放區修改(例如資料庫或文件系統),保證全部成功執行或完全不執行。 若要實作交易,記錄會在交易開始前保留數據存放區的狀態,如果其中一項修改失敗,交易會傳回失敗,並還原初始狀態(或回復)。 交易可用來維護數據完整性,因此在商務軟體程序設計中扮演重要角色。
應用程式通常可以使用分割成數個較小的交易或活動的商務交易或工作流程來開發。 這些活動會以時間分隔,然後使用可靠的消息佇列進行連線。
- 第一個交易牽涉到訂單項目資料庫。 消息佇列 會使用交易功能,將訊息從一個佇列移至另一個佇列,正好一次。 如果資料庫已更新,佇列上有訊息。 如果訊息未到達佇列,則會中止並回復資料庫。
- 稍後,消息佇列會發現伺服器可供使用。 伺服器是否存在沒有應用程式輪詢。 這是第二筆交易。
- 第三筆交易牽涉到出貨資料庫查詢和出貨資料庫的更新。 如果伺服器在此交易中間失敗,則會回復修改,並將訊息傳回至輸入佇列。 這可確保在交易期間維護數據和資料庫的完整性。