I hope that's a proper place to ask my question.
I am wondering how is best to integrate RabbitMq (or any other message broker) into my project.
There are 2 options:
- Simply collect all messages, whatever comes from my other services and dump all into Rabbit
- Collect messages into intermediate service, to ensure "contract", which will then forward them to rabbit in some particular form
While first option seems to be native, it may (?) create problems, if we try later to switch from Rabbit to smth else, like Kafka (or not?), the second seems to defeat Rabbits purpose.
I actually want to know, if the second option has a right to exist at all and why? Is it standart to have some extra service before message broker or not (and what could be the reason for it)?