Hello,
I'd like to use RabbitMQ as a remote procedure call broker between a few web applications. Originally, I thought I might use a Topic exchange and embed the message version in the Routing Key. So, I might end up with different Queues like CreatePerson_v1 and CreatePerson_v2.
Then I realized I can't really have separate Queues for separate types of RPC calls because in some situations the order of the RPC invocations is important. Sometimes I need to make sure RPC invocation A happens before invocation B.
If I need to guarantee the order of the RPC invocations, I think that I need to embed the message type and the message version inside of the payload itself.
But this isn't ideal because each app will need to look at the payload and route the RPC invocation to the correct endpoint in code. We could end up with hundreds of end points.
Has anyone out there solved this problem? How?
Thanks,