Table of Contents

KNetOPC: Supported Backends

KNet for OPC (KNetOPC) is based on KNet: KNet is a comprehensive .NET suite for Apache Kafka™ that provides direct access to all Apache Kafka™ APIs and features: Producer, Consumer, Admin, Streams, Connect, and KRaft backend support. KNet for OPC (KNetOPC) uses KNet client-side features: KNet client-side features are also compatible with any broker that implements the Kafka wire protocol — see Backend compatibility below.

Client-side features: Kafka wire-protocol compatible brokers

KNet client-side features use only the standard Apache Kafka™ client APIs: Producer, Consumer, Admin Client, and Kafka Streams. These APIs communicate with the broker exclusively through the Kafka wire protocol.

Any broker that fully implements the Kafka wire protocol is therefore compatible with the following KNet features:

  • Producer and Consumer APIs (KafkaProducer, KafkaConsumer, KNetProducer, KNetConsumer, KNetCompactedReplicator)
  • Admin Client API (KafkaAdminClient)
  • Kafka Streams / KNet Streams SDK (runs entirely embedded in the .NET process; the broker only sees standard topics)
  • KNet Connect SDK (connectors run embedded in the .NET or JVM process; the broker is accessed as a standard Kafka client)

Note on Kafka Streams: Kafka Streams runs entirely embedded within the application process. The broker is not aware of Streams: it only stores the standard topics that Streams creates and manages (state store changelog topics, repartition topics). No server-side Streams support is required from the broker.

Note on KNet Connect SDK: The Connect framework connects to the broker as a standard Kafka client. Connectors written with KNet Connect SDK run embedded in the process (.NET hosted runtime) or as standard JVM connectors (JVM hosted runtime). In both cases no specific broker-side feature beyond the Kafka wire protocol is required.

Compatible brokers for client-side features

The following brokers declare full or substantial Kafka wire-protocol compatibility and are therefore compatible with all KNet client-side features:

Broker Type Compatibility notes
Apache Kafka™ Self-hosted Reference implementation, full compatibility
Redpanda Self-hosted / Cloud Declares full Kafka wire-protocol compatibility
Amazon MSK Managed Cloud (AWS) Kafka-native managed service, full compatibility
Confluent Platform / Cloud Self-hosted / Cloud Commercial Kafka distribution, full compatibility
Aiven for Apache Kafka™ Managed Cloud (multi-cloud) Kafka-native managed service, full compatibility
IBM Event Streams Self-hosted / Cloud Based on Apache Kafka™, full compatibility
WarpStream Cloud (S3-backed) Kafka-compatible, zero inter-broker network
AutoMQ Self-hosted / Cloud Kafka-compatible, S3-backed cloud-native
Azure Event Hubs Managed Cloud (Azure) Kafka endpoint available; partial compatibility — some Admin API features may not be supported
Apache Pulsar (KoP) Self-hosted Kafka-on-Pulsar translation layer; partial compatibility — verify Admin API and topic configuration support

Important: KNet for OPC (KNetOPC) directly uses the official Apache Kafka™ Java client packages. Compatibility with Kafka-protocol-compatible brokers is therefore inherited from the Apache Kafka™ client libraries themselves, not from a custom implementation. Any broker compatible with the Apache Kafka™ client is automatically compatible with KNet client-side features.