我剛剛開始使用MSMQ,至今看起來並不複雜。我已經在MSDN上完成了一些文章,並且設法實現了一個生產者,它將消息傳遞到遠程計算機上的專用隊列以及處理這些消息的遠程計算機上的使用者。沒問題。瞭解MSMQ的基本知識
現在,我只想確保我理解MSMQ的基本工作方式(或者我認爲一般情況下的隊列),然後再繼續前進。
首先,是否有指定郵件收件人的概念?換句話說,如果我有兩個消費者輪詢同一個隊列,每個人是否會抓住隊列前面的任何消息並對其進行處理,或者生產者是否可以指定特定消息的目標用戶?我應該在Google或MSDN上查找哪些關鍵字以詳細瞭解此信息?
其次,是否有一個發送消息的概念,由所有消費者處理,而不僅僅是第一個接收消息?舉一個簡單的例子,假設公司的接待員在她的電腦上有一名製片人,她可以通過該製片人通知三明治女士到達的公司的其他人(通過將消息推送到隊列中)。任何感興趣的員工都會在他們的計算機上運行一位用戶,他們會看到該消息,但不會將其刪除,以便其他消費者也可以看到該消息。再次,我該怎麼讀更多關於這個的?
最後,每個實現是否總是由一個或多個生產者和一個或多個消費者組成?如果你只有兩臺需要發送消息的機器呢?你通常設置兩個隊列(A和B),並且在機器1上實現隊列A的生產者和隊列B的消費者,而機器2獲得隊列B的生產者和隊列A的消費者,或者有更好的方式這個?
你的問題很可能是關閉其他郵件系統,這是大概到了如此廣泛的話題。您可能要深入到一些教程或書籍來代替。 – Jeroen
你可能會受益於使用如NServiceBus或MassTransit框架做消息序列化和發佈 - 訂閱其使用MSMQ作爲底層傳輸。 –