任务是几乎实时处理报价滴答(1秒延迟)。
目前我需要处理大约100个引号,但它可能会增加到数千个。我正在查看当前运行10个线程的EM
,每个线程将运行10个异步请求,并将数据放入某个PubSub以供以后处理。
此外,我正在使用Celluloid-IO
gem测试HTTP
。
我是正确的吗?试图检查GitHub是否正在尝试实施但是失败了。
答案 0 :(得分:3)
对于大量的并行请求,有时建议使用Fibers而不是Threads,因为它们更快启动,内存使用更轻。
最受欢迎的解决方案是EM-synchrony,您可以使用 EM :: Synchrony :: Iterator 进行作业调度和平衡。
请注意,您应该使用 EM - 像“ em-synchrony / em-http ”这样的库来与 EM-synchrony 兼容
您可以查看this博文来获取更多见解。