THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- Stream the data out of Kafka and perform Event Sourcing there
- This would mean creating an in-house solution, which makes Kafka irrelevant in the design, and so its best left as a last-approach in case no solution is found on Kafka-side
- Guarantee insertion order on the producer
- Not viable as keeping this logic synchronized greatly reduces the event throughput
- Check the version before sending the event to Kafka
- Similar to the previous point, though it adds extra complexity as race-conditions may arise when attempting to compare
- Caching the record version as a byte array and perform the comparisons between records using a lexicographic byte array comparator
- This adds greater flexibility on the client side, but allowing a variable byte array size to be used raises concerns about memory usage by the cache