I have the following scenario:
There is a master service, which reads other data services and/or a database in a polling fashion. When a new job becomes available it instructs a "slaver" service to create a new process (not thread!) to work on that particular job, and stores the new process' identifier. Then, if new command regarding that job comes up, it has to send a message (queue?) to that particular process.
To make it more complicated, the "slaver" service may or may not be on the same server as the master service, and the created processes are on the same server as the slaver that created it.
I'm looking for the best way to communicate (simplex with reply) with the processes from the master.
- It is acceptable if I have to send the messages to the processes via the slaver.
- It is preferrable if I have to use the same method to reach the local process as the remote process
My preferred tool is WCF, but I haven't used anything more complicated than WsDualHttpBinding...
What are my options? Reliable session? Message Queue?
What binding? NetTcpBinding, NetMsmqBinding, NamedPipes?