Search code examples
c#azuredata-structuresmessagingmicroservices

Microservice Messaging Choices


I am new to microservices, but I'd like to know what the best way to handle communication is. I've looked into some solutions, but like to know your opinion what todo : My microservices are hosted on azure atm and I call them with REST services,

but...

I want that the services cannot be called from anybody except from other services as I have a facade API for external apps.

I've looked into Servicebus, Eventhubs, REST , WCF, SQL with RabbitMQ, but I have no idea what is the fastest messaging service.

I prefer speed and stability over everything ,high complexityis not a problem.

Does anybody have advice on this?

Thank you in advance


Solution

  • I'd suggest RabbitMQ, it's easy to get started in C#, you can use the MQTT protocol or AMQP.

    If you decide to use a different broker this is quite easy to update, minimal code changes are generally needed.

    Both give you a lot of functionality without a lot of code.

    It's possible to test clients with various online brokers, though I wouldn't use them necessarily for production.

    For C# clients have a look at

    https://m2mqtt.wordpress.com/

    http://www.rabbitmq.com/dotnet.html