I am searching for a data structure that works similar to a Apache Kafka topic with one partition:
- A sender will always append to the end of the journal
- Each appended message gets a strictly increasing increasing offset
- The messages are persisted for at least a given retention time
- Consumers can start consuming at any offset or the oldest or the newest offset
- Consuming messages will not delete them
If there is not suitable existing structure I will implement it myself but I would prefer to use something existing.