假设您有一台机器可以从交易所获得实时股票价格。这些价格需要以最快的方式传输到网络中的其他50台机器上,这样每个机器都可以对数据进行自己的处理。
将数据发送到其他50台机器的最佳/最快方式是什么?
我正在寻找一种适用于linux
的解决方案,使用python
作为编程语言。我的一些想法是:
(1)使用python's
ZeroMQ
模块将其发送到其他计算机
(2)将数据保存到共享文件夹,让50台计算机使用NFS
还有其他想法吗?
答案 0 :(得分:1)
我非常确定使用ZeroMQ发送将比保存和加载文件快得多。
还有其他通过网络发送信息的方法,例如原始套接字(较低级别),AMMP实现(如RabbitMQ(更多结构化/复杂)),HTTP请求/回复等。 ZeroMQ是一个非常好的选择,但它可能取决于你的情况。
您还可以查看分布式计算的框架,例如IPython中的框架。
答案 1 :(得分:1)
我会使用pub / sub套接字与zeromq一起使用..
在你的2选项中,你的“客户”将不得不刷新以获得你的文件修改..就像轮询..如果你有一些写错误,你将不得不手动处理,这将不是也很容易..
zeromq简单,可靠,功能强大......我认为这完全适合您的情况..
答案 2 :(得分:0)
绝对不要使用文件系统。 ZeroMQ是Py中绑定的一个很好的解决方案。我在这里有一些例子:www.coastrd.com。如果您需要更多帮助,请与我联系。