Как правильно вносить данные в БД? Есть необходимость подтягивать обновления из стороннего сервиса через REST-api и вносить их в локальную базу данных, другими словами просто актуализировать локальную БД в реальном времени.
К сожалению на стороннем сервисе отсутствует возможность "подписаться на обновления", но можно получать данные за определенный промежуток времени либо последние n записей.
Вопросы в следующем:
1. Какого паттерна следует придерживаться?
2. Это ведь очень идиотская идея: реализовать Watcher'a который будет постоянно слать запросы и проверять есть ли только что полученные данные в базе?
3. Какова главная идея решения подобных задач "Актуализации данных"? Чего следует не делать, а что напротив стоит?
Заранее очень благодарю за любый советы.

21 Авг 2019 в 06:30
189 +1
0
Ответы
1

Один из подходов, который можно использовать в данном случае, - это использование паттерна Polling. При этом устанавливается определенная частота опроса стороннего сервиса для получения обновлений.

Да, использование постоянного опроса сервиса может быть неэффективным и нагружать как локальную базу данных, так и сам сервис. Вместо этого стоит рассмотреть возможность оптимизации и использования менее частых опросов, например, раз в несколько минут или раз в час, в зависимости от частоты поступления обновлений.

Главная идея решения подобных задач "Актуализации данных" заключается в балансе между частотой опросов стороннего сервиса и необходимостью актуализации данных в реальном времени. Не стоит делать слишком частые запросы, чтобы избежать перегрузки системы, а также стоит обращать внимание на оптимизацию запросов и обработку данных, чтобы минимизировать нагрузку на базу данных. Также стоит учитывать возможность обработки ошибок и повторной попытки получения данных в случае неудачи.

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир