Need help with kop?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

255 Stars 72 Forks Apache License 2.0 372 Commits 80 Opened issues


Kafka-on-Pulsar - A protocol handler that brings native Kafka protocol to Apache Pulsar

Services available


Need anything else?

Contributors list

Kafka-on-Pulsar (KoP)

KoP (Kafka on Pulsar) brings the native Apache Kafka protocol support to Apache Pulsar by introducing a Kafka protocol handler on Pulsar brokers. By adding the KoP protocol handler to your existing Pulsar cluster, you can migrate your existing Kafka applications and services to Pulsar without modifying the code. This enables Kafka applications to leverage Pulsar’s powerful features, such as:

  • Streamlined operations with enterprise-grade multi-tenancy
  • Simplified operations with a rebalance-free architecture
  • Infinite event stream retention with Apache BookKeeper and tiered storage
  • Serverless event processing with Pulsar Functions

KoP, implemented as a Pulsar protocol handler plugin with the protocol name "kafka", is loaded when Pulsar broker starts. It helps reduce the barriers for people adopting Pulsar to achieve their business success by providing a native Kafka protocol support on Apache Pulsar. By integrating the two popular event streaming ecosystems, KoP unlocks new use cases. You can leverage advantages from each ecosystem and build a truly unified event streaming platform with Apache Pulsar to accelerate the development of real-time applications and services.

KoP implements the Kafka wire protocol on Pulsar by leveraging the existing components (such as topic discovery, the distributed log library - ManagedLedger, cursors and so on) that Pulsar already has.

The following figure illustrates how the Kafka-on-Pulsar protocol handler is implemented within Pulsar.

What's New in KoP 2.8.0

The following new features are introduced in KoP 2.8.0.

  • Offset management
  • Message encoding and decoding
  • OAuth 2.0 authentication
  • Metrics related to produce, fetch and request


The following enhancement is added in KoP 2.8.0. - Support more clients for Kafka admin - Enable advertised listeners, so users can use Envoy Kafka filter directly

Deprecated features

The property name of Kafka listener

is deprecated. Instead, you can use
since KoP 2.8.0.

Version compatibility

Since Pulsar 2.6.2, KoP version changes with Pulsar version accordingly. The version of KoP

conforms to Pulsar
, while
is the patch version number.

| KoP version | Pulsar version | | :---------- | :------------- | | 2.8.0 |Pulsar 2.8.0| | 2.7.0 |Pulsar 2.7.0| | 2.6.2 |Pulsar 2.6.2| | 0.3.0 |Pulsar 2.6.1| | 0.2.0 |Pulsar 2.5.0| | 0.1.0 |Pulsar 2.5.0|

Known Compatibility Issues

KoP-,, and minor versions with Pulsar-2.8.0 have a known compatibility issue KoP-768.

How to use KoP

You can configure and manage KoP based on your requirements. Check the following guides for more details. - Quick Start - Configure KoP - Secure KoP - Manage KoP with the Envoy proxy - Implementation: How to converse Pulsar and Kafka

Project Maintainers

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.