来自PHP的同步AMQP

时间:2012-02-21 17:11:17

标签: php messaging rpc amqp

PHP可以将AMQP视为RPC服务,并发送消息并阻止,直到返回回复为止?有没有这方面的好例子,并且任何库都以易于使用的方式包装这些功能吗?

我希望拥有代理消息系统的灵活性,但保护Web层不需要了解其异步性质。

1 个答案:

答案 0 :(得分:3)

当然,绝对。查看RPC样式的请求如何在系统中流动:

  1. 发出请求
  2. 请求者现在阻止等待对该请求的回复
  3. 使用像AMQP这样的异步消息系统完全可以实现。您只需要自己进行RPC关联:

    1. 在异步消息中发送您的请求,其中包含唯一ID(这不会阻止)
    2. 接收来自邮件系统的邮件并阻止,直到您收到具有相同唯一ID的邮件(这意味着您刚收到回复)
    3. AMQP经纪人

      RabbitMQ提供documentation online如何做到这一点。