2016-07-23 52 views
0

嗨,我真的是新来的RabbitMQ。我想实现RPC模式,但有多个客户端和一台服务器。任何人都可以推荐一种实现这一点的响应方式我有点担心我实现一个客户端的代码,一个服务器会引入阻塞问题,理想情况下我希望客户端能够相当快地得到响应。任何recomendations或方法是受欢迎的。干杯。RabbitMQ RPC多个发件人一个收件人

+0

请问您需要解决哪些业务问题? –

回答

0

一是刚拿到术语直:

    在RMQ方面
  • ,RMQ是一个经纪人(服务器),其客户是生产者和消费者。
  • 在RPC上下文中(和例如the tutorial),我们有一个RPC客户端和一个RPC服务器。所以当我们将它映射到RMQ上下文时,我们说RPC客户端实际上既是RMQ生产者又是RMQ使用者(因为它发送请求并接收应答)并且该RPC服务器既是RMQ使用者又是RMQ生产者(因为它等待然后发送回复)

现在,如果您按照教程中所述的方式(前面提到的链接)实现它,则不会有任何问题。您应该简单地启动更多的RPC服务器,以便可以并行处理更多的请求。

+0

好的,以回答Alexy的问题。业务问题是我们有一个网站,需要与相当老的会计软件沟通,他们的API更适合在网络上长时间运行连接的桌面应用程序。供应商不支持并暗示我们场景中的线程问题。所以我们的下一个方法是让网络应用程序发送消息到RabbitMQ,并有一个控制台应用程序永久连接到会话应用程序,该应用程序监听队列,如果进程不是太长,就能够通知Web应用程序用户交易已被处理/排队 – user1102550

+0

所以要回到从教程cantSleep(我用了一个不同的)。从性能/明智的架构方法。 RPC客户端可以在每个呼叫的基础上为Web应用程序创建一个临时队列并返回到该应用程序。目前我不在我的电脑中,所以我无法运行教程。但从它看它会创建一个队列。只是有点担心一个队列可能会产生瓶颈。我见过一些例子,它们创建了持续交易持续时间的暂时队列。这是一个更可扩展的方向吗? – user1102550