Запросить шаблон дизайна данных

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

Около:

У меня есть два проекта, основанные на PHP: первый проект (КЛИЕНТ), который подключается ко второму (API) через curl. В проекте API сделаны некоторые расчеты, которые выполняются на данных отправки КЛИЕНТА.

Проблема:

Если из-за каких-либо проблем проект API будет зависать или просто замедлится, КЛИЕНТ должен дождаться, пока API вернет результаты, поэтому он тоже замедляется. Проекты находятся в интенсивной разработке, поэтому расчеты будут увеличиваться, а значит, и задержка.

Вопрос:

Как я могу избежать упомянутой проблемы, прекрасно API не должен влиять на производительность КЛИЕНТА. Может быть, есть какие-то шаблоны дизайна или что-то?
Я читал об ASYNCH PHP, шаблонах кеширования, но до сих пор не нашел решения. Если есть какие-то решения (шаблоны), было бы здорово иметь примеры на практике!

Постскриптум Запрос не замедляет, замедляет вычисления. И я согласен, что в первую очередь они должны быть оптимизированы.
P.P.S. Общее количество запросов превышает 60 в минуту (> ~ 60 / мин).

0

Решение

Есть два подхода, оба работают, но имеют разные плюсы и минусы …

  1. асинхронная обработка, означающая, что клиент не ждет каждого отдельного вызова до тех пор, пока он не вернется (его ответ возвращается), но движется дальше и использует механизм, такой как обратный вызов или подобный, для обработки ответа после его поступления. Это, например, что обычно делается в веб-клиентах, использующих javascript и ajax для удаленных вызовов. Это делает клиента значительно более свободным, но, очевидно, включает в себя более высокую сложность кода и пользовательского интерфейса.

  2. обработка на основе очереди, что означает, что клиент вообще не выполняет никаких таких потенциально блокирующих запросов, а только создает задания вместо этого в каком-либо механизме очередей. Эти задания могут затем обрабатываться по очереди неким планировщиком, который также должен позаботиться об обработке ответа. Это чрезвычайно эффективно, если речь идет о масштабировании и устойчивости к пиковым нагрузкам и сбоям API, но реализация намного дороже. Кроме того, общая задача должна учитывать, что время отклика вообще не гарантируется, обычно ответы занимают больше времени, чем в первом подходе, поэтому их нельзя отобразить в интерактивном режиме.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector