Какие решения (best practice) существуют для кэширования данных, получаемых из внешних API?
В организации есть API, которое предоставляется стандартными средствами 1С. Пишется веб-приложение, которые будет использовать данные из базы 1с с помощью этого API. Написал асинхронные функции JS, которые веб-клиенту в удобном виде(JSON) предоставляют данные, но есть одно НО. Некоторые запросы к API выполняются по 10-20-30 секунду, что не очень приятно для пользователей приложения. Данные в БД меняются не часто (два-три раза в день), а потому хочется сделать какое-то решение, которое ускорит работу пользователя.
Вот думаю, что надо развернуть промежуточную БД на сервере и реализовать периодическую синхронизацию данных между API 1С и БД.
Какие решения лучше использовать для подобной задачи? Может есть уже отработанные технологии и best practice?
не знаю на счёт бест практикс, но я бы сделал так:
1. В фоновой задаче получить данные из 1С, что бы приложение не ловило ступор
2. Закешировать и/или сразу сохранить в БД
3. По крону проходиться раз в n-часов/дней и т.п.
_, ну вот я и думаю сейчас. В начале думал, что зачем мне какой-то там бэкенд, когда у меня есть такое замечательное API, но когда писал запросы к этому API - понял, что не все так просто и чтобы быстро все работало надо чего-то думать. На данные момент написаны функции на js, которые я могу и использовать на том же node.js или браузере
Похоже в вашем случае стоит сделать промежуточный сервис, который будет периодически забирать данные из апихи 1с и хранить у себя в БД/редисе/etc и предоставлять апи для фронта.