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

时间:2011-10-08 11:35:26

标签: php multithreading zeromq curl-multi

我正在开发一个PHP(Zend Framework)Web应用程序,该应用程序为每个用户请求多次调用外部API(SOAP和/或REST over HTTP)。

目前,API调用是顺序的:

  • 调用API A,等待大约1秒钟以获得结果
  • 调用API B,等待大约1秒钟以获得结果
  • 将页面发回给用户

在这种情况下,API A和B之间没有依赖关系或关系;我只想尽快返回包含所有信息的页面。

目前我正在考虑:

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

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

有没有人在PHP / Apache应用程序中成功实现此行为而没有太大的麻烦?

1 个答案:

答案 0 :(得分:1)

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