Коллеги, подскажите, в правильную ли сторону я думаю.
Условно, есть некий проект (предположим, интернет-магазин). Проект связывается с большим числом внешних систем (например 1С, процессинг, таможенная система и так далее). Связь где-то односторонняя, где-то двусторонняя (реализованы могут быть и push и pull, а могут и не быть).
Для ряда сущностей есть следующие операции:
1. Запросить (pull) внешние данные (например, информацию о заказе в 1С).
2. Получить (push) уведомление из внешней системы об изменении (например менеджер изменил заказ в 1С) или что-то прилетело через кафку.
3. Отправить (push) уведомление во внешнюю систему об изменении сущностей (клиент отменил заказ).
Что-то из этого нужно кэшировать, чтобы не нагружать постоянно запросами внешние ресурсы.
Пока что в голове вырисовывается репозиторий (?), который для других сервисов будет отдавать данные, при этом умея их запрашивать, кэшировать (если бизнес-логика допускает это), обновлять информацию в кэше при получении события снаружи.
Вопрос: а если из внешней системы получаем только очень маленький кусок данных (например, только дату растаможки из таможенной системы) - корректно ли делать для этой мелкой сущности отдельный репозиторий?
Или лучше вообще как-то по-другому делать?