2011-10-08 1 views
2

Je travaille sur une application Web PHP (Zend Framework) qui, pour chaque requête utilisateur, effectue plusieurs appels à des API externes (SOAP et/ou REST sur HTTP).Gestion de plusieurs appels d'API sortants dans une application Web PHP

En ce moment, les appels API sont séquentielles:

  • appel API A, attendez environ 1 seconde pour des résultats
  • appel API B, attendez environ 1 seconde pour les résultats
  • Envoyer page retour à l'utilisateur

Dans ce cas, il n'y a pas de dépendance ou de relation entre les API A et B; Je veux simplement retourner la page avec toutes les informations le plus rapidement possible.

En ce moment je pense soit:

curl_multi_exec() lierait mon code client pour les API A et B plus serré que je ne le voudrais.

ZeroMQ semble plus complexe à implémenter, et je ne sais pas comment gérer les processus de travail et les sockets.

Quelqu'un at-il réussi à implémenter ce comportement dans une application PHP/Apache sans trop de bruit?

Répondre

1

On dirait que vous avez besoin d'un cache. Ils sont assez faciles à faire et peuvent être soit un système de fichiers, soit une extension de base de données.

+0

Je dois admettre que je commence à penser que ce sera plus facile que quelque chose comme ZeroMQ. Quelque chose comme (1) bifurquer d'un processus (2) vérifier la présence d'une réponse (système de fichiers ou db)? Dans quelle mesure PHP est-il sûr/fiable? – fazy

Questions connexes