ActiveMQ vs Kafka: What are the differences?
ActiveMQ: A message broker written in Java together with a full JMS client. Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License; Kafka: Distributed, fault tolerant, high throughput pub-sub messaging system. Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
ActiveMQ and Kafka can be primarily classified as "Message Queue" tools.
"Open source" is the top reason why over 9 developers like ActiveMQ, while over 95 developers mention "High-throughput" as the leading cause for choosing Kafka.
ActiveMQ and Kafka are both open source tools. It seems that Kafka with 12.7K GitHub stars and 6.81K forks on GitHub has more adoption than ActiveMQ with 1.5K GitHub stars and 1.05K GitHub forks.
According to the StackShare community, Kafka has a broader approval, being mentioned in 509 company stacks & 470 developers stacks; compared to ActiveMQ, which is listed in 33 company stacks and 17 developer stacks.
What is ActiveMQ?
What is Kafka?
Want advice about which of these to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using ActiveMQ?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Front-end messages are logged to Kafka by our API and application servers. We have batch processing (on the middle-left) and real-time processing (on the middle-right) pipelines to process the experiment data. For batch processing, after daily raw log get to s3, we start our nightly experiment workflow to figure out experiment users groups and experiment metrics. We use our in-house workflow management system Pinball to manage the dependencies of all these MapReduce jobs.
Building out real-time streaming server to present data insights to Coolfront Mobile customers and internal sales and marketing teams.
Remote broker and local client for incoming data feeds. Local broker for republishing data feeds to other systems.