Skip to main content
StreamNative Cloud provides two ways to use Kafka:
  • Kafka Service — A fully managed, native Apache Kafka service. Kafka Service runs native Apache Kafka on the Ursa Engine with no compatibility layer. Your existing Kafka clients, tools, and ecosystems work without modification. This is the recommended option for new Kafka workloads.
  • Kafka Compatibility on Pulsar Clusters (via KSN) — Pulsar Clusters can serve Kafka clients through KSN, which translates the Kafka protocol to underlying storage. This option lets you access your Pulsar data using Kafka clients. All clusters are powered by the Ursa Engine. The previously called “Ursa” clusters are cost-optimized Pulsar Clusters with Kafka compatibility.
If you are starting a new Kafka project or migrating from Amazon MSK, Confluent, or self-managed Kafka, use Kafka Service for full native Kafka support.

Kafka Compatibility on Pulsar Clusters (KSN)

The rest of this page covers Kafka compatibility when using Pulsar Clusters with KSN enabled. For native Kafka Service documentation, see the Kafka Service overview. KSN is a protocol handler that enables Kafka clients to connect to Pulsar Clusters. Because KSN translates Kafka requests to Pulsar operations, some Kafka features have differences in behavior. The following tables detail the features supported by KSN on Latency Optimized and Cost Optimized Pulsar Clusters.

Kafka Protocol Support

KStreams and KSqlDB support on Cost-Optimized clusters has certain limitations. It does not support functionalities that require transactions and topic compaction.
Latency OptimizedCost OptimizedOpen-source KoP
Publish & ConsumeYESYESYES
Kafka Schema RegistryYESYESYES
TransactionsYESComing SoonYES
Compacted TopicYESComing Soon
KStreams IntegrationYESYes, with limitations
KSqlDB IntegrationYESYes, with limitations

Production Readiness

Latency OptimizedCost OptimizedOpen-source KoP
OAuth AuthenticationYESYES-
Kubernetes AuthenticationYESYES-
RBACYESYES-
Schema Registry OAuth AuthenticationYESYES-
Schema Registry RBACYesYes-
TLSYESYESYES
AuthorizationYESYESYES
Multi-AZ / Multi-Region ClustersYESYES-
Geo-replicationYESYES-

Deployments and Efficient Operations

Latency OptimizedCost OptimizedOpen-source KoP
Serverless / DedicatedYESYES-
BYOCYESYES-
Private CloudYESComing Soon-
On-prem (self-managed)YESComing SoonYES
Auto-scalingYESYES-
Cloud Console / UIYESYES-
You can use StreamNative Cloud for your existing Kafka applications and services without migrating the code. See a full list of supported Kafka clients and Kafka Compatibility.

Get started

To get started with StreamNative Cloud using Kafka, see the QuickStart guide to learn how to set up a cluster with Kafka protocol enabled and configure a Kafka client for producing and consuming messages. For language-specific setup instructions, refer to our Kafka Client Guides which provide QuickStart tutorials for your preferred programming language.

Use Kafka Client Setup Wizard

After provisioning your cluster, StreamNative Console provides a step-by-step wizard to help you set up Kafka client libraries and tools. The wizard guides you through the basic setup and configuration process, including selecting or creating service accounts, downloading key files or tokens, installing client libraries, and generating sample code to run. To get started with the Kafka client setup wizard, follow these steps.
  1. Navigate to your StreamNative Cloud cluster.
  2. On the left navigation pane, in the Clients section, click Kafka Clients. gif of kafka client setup process through wizard
  3. Follow the wizard to generate the sample code you need for connecting to your StreamNative cluster.
With a copy-and-paste, you can run the given sample code to produce and consume messages.

Kafka Clients

LanguageReferencesDescription
Kafka Java clientQuickStart | Client Guide | TutorialJava producer and consumer shipped with Apache Kafka.
Kafka C/C++ clientQuickStart | Tutoriallibrdkafka, a C/C++ library for Kafka.
Kafka Python clientQuickStart | TutorialPython client that provides high-level producer, consumer and AdminClient.
Kafka Go clientQuickStart | TutorialGo client that offers a producer and consumer for Kafka.
Kafka Node.js clientQuickStart | TutorialNode.js client that provides Kafka APIs
Kafka .NET clientTutorial.NET client that provides a high-level producer, consumer and AdminClient.

Kafka CLI & Tools

You can use the Kafka CLI tools to connect to your StreamNative cluster. You can see a quickstart guide here. For more information, see Use Kafka Tools with StreamNative Cloud.

Kafka Connect

StreamNative Cloud provides full compatibility with Kafka Connect, offering two deployment options: you can self-host Kafka Connect connectors in your own environment (see examples here), or leverage fully managed Kafka Connect connectors running directly in StreamNative Cloud.

Kafka Streams

You can also build data streaming applications using Kafka Streams. See the Kafka Streams QuickStart for more information. Please note that StreamNative Cloud doesn’t host any Kafka Streams applications.

KSQL

You can also build data streaming applications using KSQL. See the KSQL QuickStart for more information. Please note that StreamNative Cloud doesn’t host the KSQL service.

Learn more advanced topics

Integrations