2011-03-26 41 views
0

那么我打算实现服务器和客户端之间的配对连接,截至目前,我已经使用rabbitMq将数据和代码块发送到从系统,并且从系统执行它。但是我无法再将代码发送回服务器,因为rabbitMq具有Publisher/subscriber模型的经典实现。有什么办法可以解决这个问题,并确保服务器也从奴隶系统获取结果?我正在使用rabbitMQ的python绑定。如何使用RabbitMQ实现服务器客户端之间的配对连接?

回答

3

您可以使用RabbitMQ(甚至任何消息传递系统)轻松地模拟RPC语义。您所需要的只是一种相关标识符的形式,以便可以将响应消息跟踪并解释为原始请求的“答案”。

幸运的是,RabbitMQ在线文档有一个entire page with examples关于如何使用Python来做到这一点。

+0

我确实读到过,但是我忘记提到的一个关键点是,在从系统中实现的代码将在运行时给出。就我所知,在RPC中,函数必须在从系统中定义,才能被调用。 – Rahul 2011-03-27 07:00:00

+1

忘掉术语“RPC”,而是认为“请求后跟一个响应”。换句话说,你的奴隶不一定需要一个可以远程调用的“程序”。它只需要从传入队列中读取消息,对其进行处理,然后将回复消息发布回代理,以便主服务器可以接收它(以及前面提到的相关标识),并解决您的问题。从某种意义上说,“程序”就是你将要在从机上处理这些消息并进行相应的回复。 – 2011-03-27 17:06:29

相关问题