I am searching the documentation of Kinesis Data Streams but I can't find a clear statement like
Kinesis guarantees at least once delivery
From the producer side I expect that a message sent, gets propagated to more than one nodes (something like Kafka's ack=all) From the consumer side I am expecting something equivalent to Kafka commit offset on successful processing from the consumer, or something like Google Cloud's Pub/Sub message acknowledgement.
Is there a submit message guarantee for Kinesis? Is there a processing guarantee for Kinesis (mark message as read only if processed and acknowledged that it was processed)
Based on the documentation consumers from Kinesisread the entire data from the Stream. Thus consumers are responsible to commit their history and pick up from where they left. https://docs.aws.amazon.com/streams/latest/dev/building-consumers.html