python在程序之间发布/接收数据的最佳方式

时间:2017-09-15 23:06:43

标签: python sockets publish-subscribe

我试图找出在不同程序之间发布和接收数据的最佳方法。我理想的设置是让一个程序不断地从外部websocket api接收市场数据,并让多个其他程序使用这些数据。由于这是来自交易所的市场数据,因此开销越低越好。

我的第一个想法是写出一个文件并让其他人阅读它,但似乎会出现文件锁定问题。我尝试的另一种方法是使用UDP套接字,但似乎套接字在接收时会阻塞程序的其余部分。我很擅长编写完整的程序而不是小脚本,如果这是一个愚蠢的问题,那就很抱歉。任何建议,将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:1)

尝试类似邮件队列的内容,例如https://github.com/kr/beanstalkd,你基本上是通过客户端来控制它...一个收集和发送的,一个消费并标记它已读取的内容......等等。

与其他更像app的消息队列相比,Beanstalk超轻,简单。系统而不是队列。

答案 1 :(得分:1)

您可以使用SQS,它易于使用和Python 它的文档很棒。如果您想要免费的,可以使用Kafka