在远程邮箱处理器之间传递消息?

时间:2011-01-31 14:45:07

标签: f# messaging agent mailboxprocessor

我正在使用MailboxProcessor类来保留单独的代理来完成自己的事情。通常,代理可以在同一个进程中相互通信,但我希望代理在处于不同的进程或甚至不同的机器上时能够相互通信。什么样的机制最适合实现它们之间的通信?有一些标准的解决方案吗?

请注意我正在使用Ubuntu实例来运行代理。

1 个答案:

答案 0 :(得分:3)

我认为你将编写自己的例程来序列化消息,将它们传递到进程边界,然后在另一端发送它们。这还需要实现ID系统,其中每个邮箱都有一个ID,进程可以向ID发送消息,而不仅仅是Mailbox.Send。这并不容易,因为本地盒子将能够访问本地内存,但远程邮箱不会。

我会看一些类似RPyC(http://rpyc.wikidot.com/)的内容,因为它提供了一个与您正在寻找的协议。

基本上答案是'不',没有真正的好办法。