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.