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

标签 php multithreading zeromq curl-multi

我正在开发一个 PHP(Zend 框架)Web 应用程序,对于每个用户请求,它都会多次调用外部 API(SOAP 和/或 HTTP 上的 REST)。

目前,API 调用是顺序的:

  • 调用 API A,等待大约 1 秒得到结果
  • 调用 API B,等待大约 1 秒得到结果
  • 将页面发送回用户

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

    目前我正在考虑:
  • curl_multi_exec() - http://php.net/manual/en/function.curl-multi-exec.php
  • ZeroMQ - http://www.zeromq.org/

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

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

    有没有人在 PHP/Apache 应用程序中成功地实现了这种行为而没有大惊小怪?

    最佳答案

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

    关于php - 在 PHP Web 应用程序中处理多个出站 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7696518/

    相关文章:

    php - 格式化一个数字,在 php 中保持其符号

    c++ - 如何将通用 packaged_tasks 存储在容器中?

    python - 如何设置高水位线以阻止 pyzmq 中被淹没的收件人?

    javascript - 根据所选图像更改图像和描述

    php - 删除外键的问题

    python - 在 Python 中使用多线程计算阶乘

    Java:线程退出后未回收堆

    c++ - ZeroMQ PGM Multicast 不支持来自应用层的回复处理?

    c# - NetMQ 未处理异常最佳实践

    php - Codeigniter 3 - session 不工作