0

https://nodejs.org/api/cluster.html https://github.com/RGBboy/express-flash/blob/master/lib/express-flash.js

express-flash と connect-flash は、res.locals への単なるアドオンです。res.locals の問題は、クラスターを使用すると、理論的には、メッセージが受信者に到達しない確率が 1/(ワーカーの数) になることです。これをテストすることはできませんが、これは重要なことです。これは本当ですか、それとも間違っていますか?

req.session を使用してメッセージを送受信するのが最善の方法であることがわかりましたか?

4

1 に答える 1

2

Express-Flash はクラスタリングで動作しますか?

クラスタリング互換のセッション ミドルウェアを実行しているかどうかによって異なります。

express-flashモジュールは、connect-flashそのフラッシュ メッセージを に保存するモジュールを使用しますreq.session。したがって、将来の要求 (多くの場合、リダイレクト) がフラッシュ メッセージにアクセスできるようにするには、ユーザーのセッションを保持する必要があります。

したがって、クラスタリングと互換性のあるセッション実装を使用している場合は、クラスタリングでexpress-flashも機能します。セッション サポートが構成されていないか、使用しているセッションがクラスタリングと互換性がない場合 (たとえば、すべてのクラスタ化されたプロセスがアクセスできる集中ストアに基づいていない場合)、express-flash正しく動作しません。

したがって、クラスタリング互換のセッションを実行しているかどうかによって異なります。


参考までに、これはフラッシュ データが保存される場所ではないため、実際には何res.localsの関係もありません (これは、1 つの要求の間だけ存在する一時的なオブジェクトであるため)。これは、要求が着信したときにフラッシュ ミドルウェアによってデータが配置される最終的な場所であり、必要に応じてテンプレートがアクセスできるように配置されます。

于 2022-01-01T18:58:46.583 に答える