I am exploring using ServiceStack in microservices environment and using MQServer with RabbitMQ for persistent message communication between services. My proposed design is event-driven, so the messages in the queues would be events rather than commands. I was wondering if there is any kind of support for multi-consumer messaging with RabbitMQ through the existing MQServer featureset?
Essentially I was thinking of being able to have a single event processed by multiple dependent services within the microservices portfolio with delivery guarantees.
If this is not something currently supported - would it make sense to simply implement this functionality using the underlying RabbitMQ.Client functionality, and then feeding the messages into each individual host’s ServiceStack Request Pipeline (so that I can still make use of ServiceStack for request filters etc)? Do you have any thoughts on how best to approach this, how to host this effectively within the ServiceStack App Process so that RabbitMQ and ServiceStack aren’t wrestling with one another?
Also : I considered using Redis rather than RabbitMQ here - but I am assuming that this might require some concessions with regards to delivery guarantees - is that accurate?