任务是几乎实时地处理报价单(延迟1秒)。
目前我需要处理大约一百个报价,但可能会增加到数千个。我正在查看EM
,它目前运行十个线程,每个线程将运行十个异步请求,并将数据放入一些PubSub中以供稍后处理。
此外,我正在用HTTP
gem测试Celluloid-IO
。
我走对了吗?尝试在GitHub中检查我正在尝试实现的smth,但失败了。
对于大量的并行请求,有时建议使用光纤而不是线程,因为它们启动更快,内存使用量更轻。
最流行的解决方案是EM同步,您可以使用EM::synchrony::Iterator进行作业调度和平衡。
请注意,您应该根据EM使用类似于"EM synchrony/EM http"的库,以与EM synchrony兼容。
你可以查看这篇博客文章了解更多见解。