我有 nginx 服务器代理请求到一些龙卷风实例。每个 tornado 实例都基于 Tornado 附带的长轮询聊天演示。该脚本有一个存储回调的数组,然后用于将消息发送回客户端。
我遇到的问题是,当有多个龙卷风实例时,nginx 使用循环策略。由于回调是按实例存储的(而不是集中维护),因此根据发出请求的时间,它会转到其中一个实例。因此,当必须推送数据时,它只会转到存储在同一个龙卷风实例中的回调。
是否有如何在多个龙卷风实例之间存储数据的标准做法?我正在考虑使用 memcached,但是如果我需要迭代存储中的所有键,那将是不可能的(尽管它不是我一直需要的东西)。我只是想知道是否有在多个 python 进程之间存储数据的标准做法。我还阅读了有关mmap的信息,但不确定它如何与存储回调(它们是 python 方法)一起工作。