This webpage addresses the differences between Solace PubSub+ and Apache Kafka. Where applicable, we highlight when other tools (i.e. Confluent Platform) are used to fill Apache Kafka gaps.

There is some functional overlap between Solace and Apache Kafka, but if you look at the underlying architecture and operational characteristics of the two tools, you’ll realize they solve different problems in very different ways.

In some cases, the two products complement each other and in these cases we provide two free, open source connectors based on the Apache Kafka Connector specification — one Source and one Sink — that make it easy to integrate Apache Kafka and Solace so information can flow seamlessly between the environments.

You can download a PDF summarizing the differences here.
Click here for the feature comparison matrix.

Apache Kafka and PubSub+ have similar main functions

  • Allow applications to produce and consume information independent of each other
  • Store data in a highly available fault tolerant manner
  • Allow data processing in real time or near real time

Even though the products perform similar functions, they were built for fundamentally different purposes and evolved through different architectural decisions that make them perform quite differently. This comparison will explain these differences and why they affect how easy or difficult it will be to build and operate an application designed to address challenges in the areas of hybrid/multi-cloud, digital transformation, event-driven microservices and the Internet of Things.

Background and Architectural Differences

Apache Kafka was built to solve a log ingestion problem. There was a need to consume a large amount of data from many sources quickly without impeding the data sources, then store that data and deliver it to a few large consumers, namely things like HDFS writers for a big data solution. There was a need for horizontally scaled, efficient data consumption and delivery of data at a macro level, but little requirements for fine-grained filtering or high fan-out. Apache Kafka was architected to be a very simple efficient data store and replay broker, with complexities pushed out to the more complex application APIS.

PubSub+ was built to solve demanding and diverse application-to-application communication problems at scale and with high performance. Whether it’s financial trading platforms, data distribution over the WAN for hybrid cloud, massive scale IoT connectivity, or event-driven microservices – PubSub+ was designed to solve these challenging use cases. Solving such problems requires high performance in terms of both throughput and latency, along with support for consumers that are heterogeneous in both their design and data interests. To address these needs PubSub+ offers fine grained filtering and support for many open APIs and protocols, programing languages and LAN/WAN topologies. And to facilitate the monitoring and management of these complex environments, Solace technology offers end-to-end visibility including client state, automatic protocol translation and WAN optimization.

For more info about the differences between PubSub+ and Apache Kafka architectures please read Product Architecture and Datapath Architecture.

Having looked at the backgrounds and architectural differences, let’s look at how these differences affect the application of each technology to some common use cases, namely hybrid/multi-clouddigital transformation/bi-modal-ITevent-driven microservices and the Internet of Things.