2011-06-29 236 views
2

我正在寻找一种方法来发送请求并接收来自另一方的回叫。信息系统设计

唯一的问题是我们现在不会在接收端如何设计/部署它。

我们确实定义并同意了基于文本/ JSON的消息。

看着RabbitMQ和其他人,但每个都需要一个需要维护的服务器。

感谢,

+0

请您分享一些更多信息?有些事情会有所帮助: - 详细说明您尝试使用消息传递解决的问题。 - 有关邮件格式的详细信息也可能有助于人们。 - 有关您的消息格式,大量字节或很少的大小信息? - 您的应用程序可以接受什么响应时间?毫秒,小号,小时? - 预计每秒请求数? 我建议查看Joe Armstrong或任何Erlang家伙关于消息的演示视频,这些概念仍然适用于任何语言。 http://www.infoq.com/presentations/Message-Passing-Concurrency –

+1

达恩,没有意识到评论将被格式化为:-( –

回答

1

RabbitMQ很容易维护。您可以使用两个队列,一个用于请求,另一个用于回复。使用AMQP correlation_id标头标记请求和回复,以便在收到回复消息时可以与原始请求进行匹配。

但是,如果经纪人不适合你,那么使用ZeroMQ。它是一个可用于十几种语言的客户端库,它可以在套接字之上执行消息传递模式。这意味着您的应用程序不必执行所有低级套接字管理。相反,你将套接字声明为REQ/REP,ZeroMQ处理所有其余的。你只需以任何你想要的格式发送消息,然后你就会收到消息。

我用ZeroMQ在Python中使用REQ/REP实现了一个memcache风格的应用程序。

1

@ user821692:你不得不承认,不仅报文格式,而且目的地/传输协议。对于例如如果通信双方都可以访问位于任何位置的相同队列,则它们可以传送预定义的消息。你也可以看看通过HTTP发送消息。

+0

感谢您的答复! – user1231231412