Проект
приложение, над которым я работаю, обрабатывает данные финансовых транзакций (ордеров и сделок), несколько миллионов в день.
данные подаются в тему кафки.
Микросервисы потоков kafka объединяют информацию (например, количество сделок на акцию), и эти данные используются другим программным обеспечением. Кроме того, данные сохраняются в mongodb.
Проблема:
данные, отправляемые в тему, иногда необходимо изменить, например, изменение цен из-за ошибки или неправильной конфигурации.
Так как kafka только для добавления, я делаю исправление в mongodb, и после этого исправленные данные передаются в новую тему kafka, что приводит к полному пересчету нижестоящих агрегатов.
Однако этот процесс вызывает проблемы с масштабируемостью, поскольку все больше и больше данных необходимо воспроизводить с течением времени.
Вопрос
Я подумываю разбить большую тему kafka на ежедневные темы, так что в большинстве случаев восстановления данных необходимо воспроизводить только темы одного дня.
Мой вопрос заключается в том, является ли это правдоподобным способом решения этой проблемы или есть более эффективные способы ее решения.