Configure delivery guarantees for your IoT use case application.
Open the kafka-streams Spring Boot Application from the IoT use case in an IDE (e.g. Visual Studio Code or Intellij).
Start the application and have a look at the StreamsConfig output:
org.apache.kafka.streams.StreamsConfig : StreamsConfig values:
...
bootstrap.servers = [myVMsIP:9094, localhost:9092]
processing.guarantee = ?
📝 Can you see what the default processing guarantee is? What does it mean?
Configure the processing.guarantee
property in the application.yaml file of the stream application:
spring:
kafka:
streams:
properties:
processing.guarantee: <value>
💡 Have a look at the different options in the Kafka Streams documentation
📝 Configure an "exactly once" processing. Why are there multiple ways to do this?