Мне поручено создать поток событий, в котором у меня есть автоматический опросчик (установленный с 10-минутными интервалами) для извлечения всех сущностей, которые изменились за последние 10 минут.
Теперь бизнес-логика требует, чтобы мы толькосоздавать новые события обновления при изменении определенных полей в объекте. Поскольку у нас нет детализации относительно того, какое конкретное поле изменилось (все, что мы знаем, это то, что что-то изменилось), я должен создать какой-то метод дифференциатора, который выполняет следующее:
- Получает предыдущеесостояние объекта
- Сравнивает это предыдущее состояние с новейшим состоянием (т. е. diff)
- Создайте событие обновления, если хотя бы одно из полей, которые бизнес-логика определила как важные
- Если событие обновления было создано, замените предыдущее состояние объекта на самое последнее
Учитывая эту архитектурную проблему, существует ли известный шаблон или набор шаблонов или рекомендации по построениюиз этого типа системы?