У меня есть система, которая соединяется с 2 популярными API. Мне нужно объединить данные от каждого в единый результат, который затем можно разбивать на страницы. Объем проекта означает, что система может поддерживать 10 API.Как собрать данные API?
Каждый API налагает максимальный предел 50 результатов на запрос.
Каков наилучший способ объединения этих данных таким образом, чтобы оно надежно т.е. упорядоченный, никаких дубликатов и т.д.
Я использую рамки CakePHP на окружающую среду ЛАМПЫ, однако, я не думаю, что этот вопрос касается всех языков программирования.
Мой подход до сих пор заключается в том, чтобы запросить API поиска каждого провайдера, а затем заполнить таблицу MySQL. Из этого результаты упорядочены, разбиты на страницы и т. Д. Однако моя забота - это производительность: связь API, разбор, вставка, а затем чтение всего за одно исполнение.
Я что-то упускаю, есть ли у кого-нибудь другие идеи? Я уверен, что это распространенная проблема со многими альтернативными решениями.
Любая помощь была бы принята с благодарностью.
еще один: если вы не можете использовать cron по какой-либо причине, вы всегда можете использовать веб-службы pinging, такие как http://www.watchour.com/ (которые, я чувствую, что я должен разглашать, управляемый моим другом). пожалуйста, свяжитесь со мной напрямую, если вы думаете, что я могу помочь. –
Спасибо за замечательные комментарии и советы. Я должен был упомянуть, что приложение, которое я создаю, является инструментом поиска. Я использую API поиска и должен отображать результаты в реальном времени. Подумайте, сравнивает ли сайты страхования автомобилей. Я думаю, что страница, которую пользователь ждет, пока выполняются вычисления, может быть лучшим с помощью поисковой системы. Как вы думаете? – Mindblip
, если, как вы сказали, это может привести к тому, что десятки отдельных агрегатов api будут объединены, вы не сможете сделать это на странице-загрузке, за исключением самых уязвимых аудиторий. ни один «нормальный» пользователь Интернета не захочет ждать более 6-7 секунд. –