Reputation: 289
I am trying to learn messaging system. I have found that many options like RabbitMq NServiceBus MassTransit Kafka ...
My questions is:
What is the difference between each one? What is the use of each?(usage scenario)
Upvotes: 8
Views: 5249
Reputation: 320
Kafka by default is large distributed messaging system that supports horizontal scaling easily so it's better to be used for cases like when having a large real-time stream of data or high number of consumers. RabbitMQ by default doesn't support this high volume, it supports basic patterns of Pub/Sub or message broker system. But using Masstransit, can extend the functionality of Rabbitmq so it can support multiple topics and scale out. But for usage as per what I saw, for scalable message broker that can process high volume of data, many go by default to Kafka
Upvotes: 0
Reputation: 12057
The best way to think of NServiceBus and MassTransit is as middleware that sits on top of messaging infrastructure like RabbitMQ, Azure Service Bus, or Kafka.
For a comparison between RabbitMQ and Kafka, see this.
For a comparison between NServiceBus and MassTransit, see this.
Upvotes: 19