假设您有一台从交易所获取实时股票价格的机器。这些价格需要以最快的方式传输到您网络中的 50 台其他机器上,以便每台机器都可以对数据进行自己的处理。
将数据发送到其他 50 台机器的最佳/最快方式是什么?
我正在寻找一种可以作为编程语言linux
使用的解决方案。python
我的一些想法是:
(1)python's
ZeroMQ
使用模块发送到其他机器
(2)将数据保存到共享文件夹并让 50 台机器使用NFS
还有其他想法吗?
我很确定使用 ZeroMQ 发送将比保存和加载文件快得多。
还有其他方法可以通过网络发送信息,例如原始套接字(较低级别)、RabbitMQ 等 AMQP 实现(更结构化/更复杂)、HTTP 请求/回复等。ZeroMQ 是一个不错的选择,但它可能取决于您的情况。
您还可以查看分布式计算的框架,例如 IPython 中的框架。
我会使用带有 pub/sub 套接字的 zeromq ..
在您的 2 选项中,您的“客户”必须刷新才能进行文件修改.. 像轮询.. 如果您有一些写入错误,您将不得不手动处理,这也不容易..
zeromq 简单、可靠且功能强大.. 我认为这非常适合您的情况..
Definatly do NOT use the file system. ZeroMQ is a great solution wiht bindings in Py. I have some examples here: www.coastrd.com. Contact me if you need more help.