I use ServiceStack for a bunch of self hosted services. In addition to REST we need a message based approach for some ‘set and forget’ functionality, especially longer running tasks such as creating reports, sending mails etc. I need to have my own Exchanges (defined by every application) of different type, e.g. for every application one specific exchange. When using ServiceStack it seems to create three standard exchanges:
- mx.servicestack (direct exchange)
- mx.servicestack.dlq (direct exchange)
- mx.servicestack.topic (topic exchange, NOT durable)
This is the same for ALL servers using ServiceStack as service library.
I there any way to create my own exchanges and configure them using ServiceStack in every application? I need different durable topic or fanout exchanges with different routing depending on the application.
Currently I use RabbitMQ and I know that I could use vhosts to achieve that. The disadvantage is, that I am kind of ‘locked into RabbitMQ’ as AMQP implementation which I do not want. I have a scenario where it is very likely that customers may want to use SQS or Azure or any other cloud based AMQP implementation.
Thanks for your feedback and suggestions.