![[IBM MQ Advanced VUE]](ngadvvue.gif)
![[MQ 9.3.4 Oct 2023]](ng934.gif)
![[IBM MQ Advanced for z/OS]](ngadvzos.gif)
Exactly once support
There are two versions of the IBM® MQ Kafka Connectors, 1 and 2. The version 2 connectors provide support for exactly-once and at-least-once message delivery, whereas the version 1 connectors provide support for at-least-once message delivery.
- For the source connector, IBM MQ messages are not lost, but might be delivered to Kafka multiple times resulting in duplicate Kafka messages.
- For the sink connector, Kafka messages are not lost, but might be delivered to IBM MQ multiple times resulting in duplicate IBM MQ messages.
- For the source connector, IBM MQ messages are not lost, and will be delivered to Kafka with no chance for duplicate Kafka messages.
- For the sink connector, Kafka messages are not lost, and will be delivered to IBM MQ with no chance for duplicate IBM MQ messages.
Exactly-once support is only available in the version 2 connector shipped with IBM MQ, or with IBM Event Streams. It is not available in the version 1 connector.
The version 2 connector can run in either at-least-once or exactly-once mode. Exactly-once support is enabled by appropriate configuration of Kafka, and by making use of a "state queue". Each instance of a connector running in exactly-once mode needs its own state queue.
Throughput and scalability of the connectors running in exactly-once mode are less than running in at-least-once mode. Only enable exactly-once mode if your applications aren't designed to work with duplicate messages.
See Running the MQ source connector for details on configuring exactly-once mode in the source connector, and Running the MQ sink connector for details on configuring exactly-once mode in the sink connector.