The versatile Apache Kafka
Use Cases and Deployment Scope
We use Apache Kafka for asynchronous communication.
For any processing that we need to do on background, we use Apache Kafka. We also set the configurations in such a way so that we can use it for retrying messages in a topic.
We also use it for data streaming which powers our data platform.
Pros
- Its extremely fast. It is able to deliver messages very quickly.
- It is very reliable, I have not yet seen any cases where messages might have dropped
- Using different configurations we can model it any way and cater to large number of business use cases.
Cons
- If there can be some way of scheduling messages to reappear that would be great.
- There should be functionality of decreasing the partitions on the fly so that we can scale down when needed.
- Apache Kafka should have better consumer UI view so that we can more details on the consumers attached.
Likelihood to Recommend
It is well suited for any asynchronous programming use case. It is also a good fit for the data streaming use case. It is not suited for use cases where batching of messages is needed.
