|
|
|
|
|
by swagasaurus-rex
1832 days ago
|
|
When you have many servers who all need to see the same chronological data stream (including messages they might miss during network downtime), and see new events in real time. If you set "log.retention.hours = -1" and "log.retention.bytes = -1" in kafka config, kafka stores messages forever. In a game for example, user-inputs and other events can be produced in Kafka, then reconstruct the entire game-state by reading and processing the kafka-stream from start to finish. It has an advantage over most DBs because it's real-time. You can use also chronological data streams to represent data structures more complicated than a simple array. For example, a tree can be represented while preserving chronology. This is far from the ideal use case however. |
|
This is called event sourcing.