2009-06-24 200 views
5

系統A通過UI捕捉用戶的X信息。該信息經過驗證並保存在數據庫中。用戶可以更改,添加或刪除信息。我必須保持這個X信息與使用Web服務的系統B同步。此外,我需要在數據庫中堅持發送該信息。MSMQ是一個好主意

我想在這裏使用MSMQ。系統A將向隊列發送消息。偵聽此隊列上消息的另一個進程將通過讀取數據庫中的信息併發送給系統B來處理消息。

我想知道,在此處使用MSMQ還是通過編寫自己的簡單排隊機制定期輪詢數據庫。

由於需要近乎實時的傳輸和保證,我認爲使用MSMQ是個好主意。還有其他更好的解決方案嗎?

技術平臺是.Net與Oracle數據庫。

回答

4

MSMQ在您的情況下似乎非常方便,因爲您不熟悉Oracle中的AQ。在你的情況下,MSMQ確保足夠快的複製速度。爲了相同的目的而編寫自己的隊列不會重新發明輪子並增加必須維護的代碼。 .NET中MSMQ的實現是無摩擦的,這是另一個好處。

+0

嗯,我也不知道MSMQ,我只知道這個概念。 – 2009-06-24 06:38:18

4

數據庫輪詢可能不是最好的主意,特別是如果您使用的Oracle已經包含advanced queueing。如果您選擇執行輪詢事務(違揹我的建議),請使用DBMS_ALERT通知發送進程的更改。

+0

我對高級排隊知之甚少。我需要在隊列表中記錄一條記錄,Oracle隊列機制將選擇記錄,然後我們可以處理。 MSMQ更好嗎? – 2009-06-24 06:08:11

+0

我沒有MSMQ的經驗,所以我不能告訴你哪一個更好。可能兩者都會。 – 2009-06-24 06:27:26

相關問題