При настройке производителя кафки для использования идемпотентного поведения и транзакционного поведения:
Я понимаю, что для идемпотентности мы устанавливаем: enable.idempotence=true
и что, изменяя этот единственный флаг на нашем производителе, мы точно гарантируем -время доставки события?
и для транзакций мы должны go далее и установить transaction.id=<some value>
, но, установив это значение, он также устанавливает идемпотентность в значение true?
Кроме того, установив один или оба из вышеперечисленных на true, производитель также установит acks = all.
С учетом вышеизложенного я смогу добавить «ровно один раз», просто изменить настройку разрешения идемпотентности? Если бы я хотел go дальше и включить поддержку транзакций, то на стороне потребителя мне нужно было бы только изменить их настройку isolation.level=read_committed
? Отражает ли это изображение, как настроить продюсер в терминах EOS?