I have a scenario where I have a series of processes I need to perform, each step is done and scaled in independent applications. I am using topic exchanges for all exchanges. Current topology is something like this:
P -> X -> Q -> C/P -> X -> Q -> C
We are "versioning" our queues to deal with probable requirements changes effecting message structure. Bindings might look something like this:
step1.exchange bound to step1.v1.queue with binding key step1.v1
step1.exchange bound to step1.v2.queue with binding key step1.v2
There are other binding patterns that are not version related that also make topical exchanges the appropriate choice. However we could get away with only using one exchange to accomplish the same thing.
TLDR: Is their a benefit to using multiple topical exchanges instead of one topical exchange when your use case could work either way?