目前我正在使用带有pub-sub模式的zeromq,我有单个worker发布,很多(8)订阅者(都会订阅)到相同的模式。
现在我尝试了多处理来生成它工作的订阅者。我遗漏了一些消息。
为什么我使用多处理是在每条消息到达并处理它们时处理它们,每隔一个发布者发布10到100条消息。
在这种情况下,建议使用multiprocessing
或gevent
?
答案 0 :(得分:4)
多处理显然会有更高的内存开销,但会使用另一个核心(而且你不必担心没有先发制人)所以......这取决于你的需求。 使用gevent的多个进程可能会为您带来最高的吞吐量/最低的延迟。
答案 1 :(得分:3)
我选择基于gevent的多处理