-
Notifications
You must be signed in to change notification settings - Fork 121
Sender
Following the Sequence Diagrams for the sending operation by AMQP sender clients.
In this scenario the AMQP sender specifies the snd-settle-mode
as settled
so it sends every message with the settled flag to true. The source bridge endpoint sends the message itself to the Kafka server and it doesn't care any feedback from it. We can consider it an AT MOST ONCE delivery.
The internal Kafka Producer is configured to use acks
parameter with value 0
so that it doesn't wait for any feedback from the Apache Kafka server.
The internal AMQP receiver link uses prefetching for flow control. The link credits are configurable using the bridge.properties configuration file.
In that case the AMQP sender specifies the snd-settle-mode
as unsettled
so it sends every message with settled flag to false. The source bridge endpoint sends the message to the Apache Kafka server and then it waits for an acknowledgment in order to send a disposition with info on message settled and the related delivery status (ACCEPTED or REJECTED).
The internal Kafka Producer is configured to use acks
parameter with value 1
or all
so that it waits acknowledgement from Kafka server (if message is got only by leader or by all related replicas).
The internal AMQP receiver link uses no prefetch but manual flow control. For each acknowledgement received from the Kafka server, it updates the link credits accordingly.
In that case the AMQP sender specifies the snd-settle-mode
as mixed
so it can mix the above behavior for each single message.
The internal AMQP receiver link is configured as the "unsettled mode" with manual flow control due to different behavior for each message.