Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
Kafka is a tool in the Background Jobs category of a tech stack.
What are some alternatives to Kafka?
RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
Transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available. With SQS, you can offload the administrative burden of operating and scaling a highly available messaging cluster, while paying a low price for only what you use.
Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
Sidekiq uses threads to handle many jobs at the same time in the same process. It does not require Rails but will integrate tightly with Rails 3/4 to make background processing dead simple.
Kafka Manager, Apache Flink, ContainerShip, Netuitive, MapD and 7 more are some of the popular tools that integrate with Kafka. Here's a list of all 12 tools that integrate with Kafka.
Discover why developers choose Kafka. Read real-world technical decisions and stack choices from the StackShare community.Showing 7 of 10 discussions.