いくつかのトルネードインスタンスへのnginxサーバープロキシリクエストがあります。各トルネードインスタンスは、トルネードに付属する長時間ポーリングのチャットデモに基づいています。スクリプトには、コールバックを格納する配列があります。コールバックは、クライアントにメッセージをディスパッチするために使用されます。
私が抱えている問題は、複数の竜巻インスタンスがある場合、nginxはラウンドロビン戦略を使用することです。コールバックはインスタンスごとに保存されるため(一元的に維持されることはありません)、リクエストがいつ行われるかに応じて、インスタンスの1つに送られます。このため、データをプッシュする必要がある場合、データは同じトルネードインスタンスに格納されているコールバックにのみ送信されます。
複数の竜巻インスタンス間でデータを保存する方法の標準的な方法はありますか?memcachedを使用することを考えていましたが、ストア内のすべてのキーを繰り返す必要がある場合、それは不可能です(ただし、Idが常に必要とするものではありません)。複数のPythonプロセス間でデータを保存するための標準的な方法があるかどうかを知りたかっただけです。mmapについても読みましたが、コールバック(Pythonメソッド)の保存でどのように機能するかわかりませんでした。