簡體   English   中英

WCF或Windows服務以實現MSMQ

[英]WCF or windows service to implement MSMQ

我有一個客戶端服務器設置,我通過http將消息發送到服務器(我正在使用作為Windows服務托管的WCF服務。)在當前設置中,因為我看到客戶端和服務器之間的連接斷開時某些消息丟失了,出於可靠性考慮,我決定使用MSMQ。因此,客戶端將消息發送到隊列,服務器不斷輪詢隊列,因此在開發之前我需要做出一些設計決定。 哪一個是最佳的Windows服務或wcf服務(作為Windows服務托管)?

如果我必須開發WCF所需要的所有服務,那就是從WCF獲得Windows服務以外的任何優勢,而該服務所要做的就是連續從隊列中讀取消息並進行一些處理。我將使用事務性的專用隊列。

我建議避免編寫直接與MSMQ集成的代碼,而應使用現有的服務總線為您完成此工作(例如NServiceBus或MassTransit)。 滾動式消息傳遞層可能適用於最簡單的系統,但是隨着需求隨時間的變化,您將需要功能更全面的服務總線。 我提到的服務總線以對開發人員友好的方式執行以下操作:

  • 消息傳遞模式(即發即棄,請求-響應,發布訂閱)
  • 消息序列化
  • 郵件路由
  • 失敗/重試邏輯(即消息處理程序應該更新數據庫,但是數據庫已關閉,您如何處理?)
  • 長時間運行的流程(也稱為sagas)

如果您走了自己的路線,這些只是不久之后您將要寫的一小部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM