/ / Obsługa wielu wychodzących wywołań API w aplikacji internetowej PHP - php, wielowątkowość, zeromq, curl-multi

Obsługa wielu wychodzących wywołań API w aplikacji internetowej PHP - php, wielowątkowość, zeromq, curl-multi

Pracuję nad aplikacją WWW PHP (Zend Framework), która dla każdego żądania użytkownika wykonuje wiele połączeń z zewnętrznymi API (SOAP i / lub REST przez HTTP).

W tej chwili wywołania API są sekwencyjne:

  • Zadzwoń do API A, odczekaj około 1 sekundy na wyniki
  • Zadzwoń do API B, odczekaj około 1 sekundy na wyniki
  • Wyślij stronę z powrotem do użytkownika

W tym przypadku nie ma zależności ani zależności między API A i B; Po prostu chcę jak najszybciej zwrócić stronę z wszystkimi informacjami.

W tej chwili myślę o:

curl_multi_exec () wiążą mój kod klienta dla API A i B ściślej niż ja.

ZeroMQ wydaje się bardziej skomplikowany do wdrożenia i nie jestem pewien, jak zarządzać procesami roboczymi i gniazdami.

Czy ktoś z powodzeniem zaimplementował to zachowanie w aplikacji PHP / Apache bez zbytniego zamieszania?

Odpowiedzi:

1 dla odpowiedzi № 1

Wygląda na to, że potrzebujesz pamięci podręcznej. Są dość łatwe do wykonania i mogą być systemem plików lub dowolnym rozszerzeniem bazy danych.