When not to use Kafka
For certain scenarios and use cases, you shouldn't use Kafka:
- If you need to have your messages processed in order, you need to have one consumer and one partition. But this is not at all the way Kafka works and we do have multiple consumers and multiple partitions (by design one consumer consumes from one partition) and because of this, it won't serve the use case that we are looking to implement.
- If you need to implement a task queue because of the same reason in the preceding point. It doesn't have all the bells and whistles that you associate with a typical queue service.
- If you need a typical topic capability (first in first out) as the way it functions is quite different.
- If your development and production environment is Windows or Node.js based (subjective point but it's good to know that this aspect is quite true).
- If you need high security with finer controls. The original design of Kafka is not really created with security in mind and this plagues Kafka at times...