07 October,2019 by Rambler
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
This is only a preview. Your comment has not yet been posted.
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.
Posted by: |