Hi, the following article describes how to configure Apache Kafka system to enforce exactly once approach:
https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/ One recommendation states that parameter transactional.id should be set in producer.properties file which usually exists only once per broker. Now I have the following questions. Our system consists of 4 modules which interact in a sequential way by exchanging messages using Kafka topics A --> B --> C --> D I.e. modules A, B and C act as message producers and modules B, C and D act as message consumers (and all modules do some application specific useful processing). 1) Do we need separate producer/consumer configurations for these modules and if so where and how do we have to configure them (as producer configuration files are related to the number of brokers and not to the number of modules)? 2) Does transcational.id "only" cover technical aspects of Apache Kafka or does it cover application aspects as well (i.e. is my assumption which led to question 1 correct)? 3) In case it is sufficient to configure transactional.id parameter in producer.properties files and we have more than one broker (and with that more than one producer.properties file). Do the values of the parameter transactional.id have to be equal or do there have to be different (pairwise disjoint) values? I would be glad to get answers to these questions. Kind regards, Thomas Kass