Kafka vs ZeroMQ

Kafka
Kafka

3K
4.4K
455
ZeroMQ
ZeroMQ

132
70
49
Add tool

Kafka vs ZeroMQ: What are the differences?

Developers describe Kafka as "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. On the other hand, ZeroMQ is detailed as "Fast, lightweight messaging library that allows you to design complex communication system without much effort". The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

Kafka and ZeroMQ can be primarily classified as "Message Queue" tools.

Some of the features offered by Kafka are:

  • Written at LinkedIn in Scala
  • Used by LinkedIn to offload processing of all page and other views
  • Defaults to using persistence, uses OS disk cache for hot data (has higher throughput then any of the above having persistence enabled)

On the other hand, ZeroMQ provides the following key features:

  • Connect your code in any language, on any platform.
  • Carries messages across inproc, IPC, TCP, TPIC, multicast.
  • Smart patterns like pub-sub, push-pull, and router-dealer.

"High-throughput" is the primary reason why developers consider Kafka over the competitors, whereas "Fast" was stated as the key factor in picking ZeroMQ.

Kafka and ZeroMQ are both open source tools. Kafka with 12.5K GitHub stars and 6.7K forks on GitHub appears to be more popular than ZeroMQ with 5.28K GitHub stars and 1.56K GitHub forks.

According to the StackShare community, Kafka has a broader approval, being mentioned in 501 company stacks & 451 developers stacks; compared to ZeroMQ, which is listed in 35 company stacks and 12 developer stacks.

What is Kafka?

Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.

What is ZeroMQ?

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Kafka?
Why do developers choose ZeroMQ?
What are the cons of using Kafka?
What are the cons of using ZeroMQ?
What companies use Kafka?
What companies use ZeroMQ?
What are some alternatives to Kafka and ZeroMQ?
ActiveMQ
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.
RabbitMQ
RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
Amazon Kinesis
Amazon Kinesis can collect and process hundreds of gigabytes of data per second from hundreds of thousands of sources, allowing you to easily write applications that process information in real-time, from sources such as web site click-streams, marketing and financial information, manufacturing instrumentation and social media, and operational logs and metering data.
Apache Spark
Spark is a fast and general processing engine compatible with Hadoop data. It can run in Hadoop clusters through YARN or Spark's standalone mode, and it can process data in HDFS, HBase, Cassandra, Hive, and any Hadoop InputFormat. It is designed to perform both batch processing (similar to MapReduce) and new workloads like streaming, interactive queries, and machine learning.
Akka
Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.
See all alternatives
What tools integrate with Kafka?
What tools integrate with ZeroMQ?
    No integrations found
      No integrations found
      Decisions about Kafka and ZeroMQ
      No stack decisions found
      Interest over time
      Reviews of Kafka and ZeroMQ
      No reviews found
      How developers use Kafka and ZeroMQ
      Avatar of Pinterest
      Pinterest uses KafkaKafka

      http://media.tumblr.com/d319bd2624d20c8a81f77127d3c878d0/tumblr_inline_nanyv6GCKl1s1gqll.png

      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.

      Avatar of OnlineCity
      OnlineCity uses ZeroMQZeroMQ

      Our platform is based on interconnected services with a custom RPC protocol based on ZeroMQ and inspired by ZeroMQs LPP/MDP protocols.

      Avatar of Coolfront Technologies
      Coolfront Technologies uses KafkaKafka

      Building out real-time streaming server to present data insights to Coolfront Mobile customers and internal sales and marketing teams.

      Avatar of ShareThis
      ShareThis uses KafkaKafka

      We are using Kafka as a message queue to process our widget logs.

      Avatar of Christopher Davison
      Christopher Davison uses KafkaKafka

      Used for communications and triggering jobs across ETL systems

      Avatar of theskyinflames
      theskyinflames uses KafkaKafka

      Used as a integration middleware by messaging interchanging.

      Avatar of Runbook
      Runbook uses ZeroMQZeroMQ

      Our backend monitors and reactions all talk over ZeroMQ.

      Avatar of clonn
      clonn uses ZeroMQZeroMQ

      Data Transfer

      Avatar of Max Litnitskiy
      Max Litnitskiy uses ZeroMQZeroMQ

      The blood

      How much does Kafka cost?
      How much does ZeroMQ cost?
      Pricing unavailable
      Pricing unavailable
      News about ZeroMQ
      More news