在PHP web应用程序中处理多个出站API调用


Handling multiple outbound API calls in a PHP web application

我正在开发一个PHP (Zend Framework) web应用程序,对于每个用户请求,对外部api (SOAP和/或HTTP上的REST)进行多次调用。

目前,API调用是顺序的:
  • 调用API A,等待大约1秒的结果
  • 调用API B,等待大约1秒的结果
  • 将页面发送回用户

在本例中,api A和api B之间没有依赖或关系;我只是想尽快返回包含所有信息的页面。

此刻我在想:

  • curl_multi_exec() - http://php.net/manual/en/function.curl-multi-exec.php
  • ZeroMQ - http://www.zeromq.org/

curl_multi_exec()会将api A和api B的客户端代码绑定得比我想要的更紧密。

ZeroMQ似乎更复杂的实现,我不确定我如何管理工作进程和套接字。

有没有人成功地在PHP/Apache应用程序中实现了这种行为而没有太多的麻烦?

听起来你需要一个缓存。它们非常容易制作,可以是文件系统扩展,也可以是任何数据库扩展。