Я хотел бы реализовать шаблон поиска событий, используя kafka в качестве хранилища событий.
Я хочу сделать это как можно более простым.
Идея:
Мое приложение содержит список клиентов. Клиенты могут быть созданы и удалены. Очень просто.
Когда приходит запрос на создание клиента, я создаю событие CUSTOMER_CREATED, включающее данные клиента, и сохраняю его в теме kafka с помощью KafkaProducer. То же самое, когда клиент удаляется с событием CUSTOMER_DELETED.
Теперь, когда я хочу составить список всех клиентов, я должен воспроизвести все события, которые произошли до сих пор, а затем получить текущее состояние, то есть список всех клиентов.
Я бы создал временный список клиентов, а затем поочередно обрабатывал бы все события (создание клиента, создание клиента, удаление клиента, создание клиента и т. Д.). (Использование этих событий с KafkaConsumer). В конце я возвращаю временный список.
Я хочу, чтобы это было как можно проще, и это только дает мне понимание того, как на практике работает поиск событий. Это источник событий? А также: как мне создавать моментальные снимки при такой реализации?