Which one to use - Apache Kafka versus RabbitMQ

07 October,2019 by Jack Vamvas

Best case scenario (use case)  for Apache Kafka

1) Requirement for partitioned order at least once write. Requirement for  A to B streaming with high throughput.  

2) Durable message store . Why would this be important? Consumers can get a replay of the event stream - whereas limited in message brokers - where once message is delivered , removed from queue

3) If a solution requires data stream processing.  

4) Event sourcing required. Event sourcing persists the state of a business entity e.g maintaining a chain of event at different states in a sequential order for a Customer

5) More components in Kafka - (once you get your head around it)  , supporting great flexibility. There is more work to get Kafka operating - in comparison to RabbitMQ  - but once operating has plenty of options, for developers and operations

6) High Availability . Both  RabbitMQ and Kafka have High Availability - but Zookeeper offers the cluster management component and is also Highly available 

7) Kafka exploits sequential disk IO , therefore high throughput and less hardware. I'd class this as a supporting factor. 

 

Best case scenario (use case)  for RabbitMQ

1) Easy to setup in comparison to Kafka

2) Work with a combination of existing protocols - AMQP 0-9-1, STOMP, MQTT, AMQP 1.0.

3) Finer grained consistency controls

4) Wild card event subscription - RabbitMQ supports wild cards for event subscription

5) Pivotal Cloud Foundry (PCF) compatability . To highlight compatability - it takes a one-line command to set up &  provision RabbitMQ

So this blog post is about Apache Kafka and RabbitMQ. As a DBA - I've found knowing more about messaging\queuing\data streaming  technologies assists working with  development teams

Let me know other  factors for working with Kafka and RabbitMQ

 


Author: Jack Vamvas (http://www.dba-ninja.com)


Share:

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment on Which one to use - Apache Kafka versus RabbitMQ


dba-ninja.com