I'm new to message queueing.
I'm trying to do a proof-of-concept of a messaging architecture for communication between multiple windows desktop apps of the same type. In simpler words, several instances of my desktop app should communicate with each other.
As one possibility, I'm considering MSMQ for transport (and, therefore, NServiceBus to make life easier).
I'm considering it to be brokerless and peer-to-peer, so that nothing but the app itself has to be installed.
There are two main reasons for communication between peers:
- Sending notifications from one to others (fire-and-forget / publish-subscribe patterns).
- Copying content (by ContentId and AppInstanceId) from one specific instance to another specific instance. So, here is when Request-Response pattern comes to play.
Before starting my prototype, it is interesting to gain an idea, wether i'm thinking in the right direction.
- Is it possible to implement Request-Response pattern with P2P so that the sharing is established only between two peers? For example, 5 peers in total, but request-response is between only 2. Should it be done by conditional responding when one sends request, everybody receives it, but only the peer with matching Id responds? Or there are other good approaches? Any hints would be appreciated.
- Is this the proper thechnology choise for such communication, or I should consider simpler solution like WCF?