Kafka for tracking changes
Use Cases and Deployment Scope
Pros
- Receiving messages from publisher and sending to consumer in FIFO manner
- Handling of errors using Dead Letter Queue when message could not be consumed on the consumer end
- Fault tolerance
Cons
- Sometimes it becomes difficult to monitor our Kafka deployments. We've been able to overcome it largely using AWS MSK, a managed service for Apache Kafka, but a separate monitoring dashboard would have been great.
- Simplify the process for local deployment of Kafka and provide a user interface to get visibility into the different topics and the messages being processed.
- Learning curve around creation of broker and topics could be simplified
Likelihood to Recommend
It would be less appropriate or rather an overkill to use Kafka in scenarios where we are sending short messages to offload certain tasks(like invoice generation and sending email) to a worker(like celery). For such use cases, simple queueing solutions like Amazon SQS should suffice.
