OPC UA defines a generic PubSub model that can be bound to different underlying protocols. This section describes how OPC UA PubSub can be bound to Kafka, a distributed streaming platform that allows publishers and subscribers to exchange messages through topics. Kafka is widely used for data integration, stream processing, and event-driven applications.
The transport protocol binding of OPC UA to Kafka is based on the following assumptions and conventions:
- Kafka brokers are used to manage the topics and partitions, and to store the messages.
- Kafka producers are used to publish OPC UA NetworkMessages to Kafka topics. Topics must be created in the broker before they can be used by producers.
- Kafka consumers are used to subscribe to Kafka topics and receive OPC UA NetworkMessages.
- Kafka topics are configured throgh QueueNames in WriterGroups, DataSetWriters and DataSetReaders.
A Broker may persist messages so they can be delivered even if the subscriber is not online.
Kafka security is applied at the transport level, using the SSL/TLS or SASL mechanisms supported by Kafka. The Kafka security configuration is independent of the OPC UA security configuration and can be used to provide an additional layer of protection.
The OPC UA PubSub transport protocol mapping for Kafka enables the integration of OPC UA PubSub with Kafka-based systems, and the use of Kafka as a reliable and scalable transport for OPC UA PubSub.