我正在开发一个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应用程序中实现了这种行为而没有太多的麻烦?
听起来你需要一个缓存。它们非常容易制作,可以是文件系统扩展,也可以是任何数据库扩展。