「P社」系のIT会社が提供するWebベースの帳票ソフトのおはなし.
負荷分散装置を通して2台のWebサーバで動作しています.
負荷分散装置はクッキーを見て一度ログインしたらログアウトまでは同じWebサーバにアクセスするようにしています.
これは負荷分散装置のおかげ.
どのボタンを押しても概ねこの機能でうまくいきますが,一つだけNGのボタンがあります.
Webサーバのログをみていると,
(1)ふつうはクライアントからのリクエストを処理している.
(2)たまにWebサーバからのリクエストがある.
(3)上記の2つが同じWebサーバ側で処理されないと失敗する.
というようになっています.
負荷分散装置でクッキーを使ってセションを保持しても,これではうまくいきそうにありません.
別々のマシン(クライアントとWebサーバ)なので同じクッキーを喰っているはずもなく...です.
(1)(2)がたまたま同じWebサーバで処理されればよいですが,「たまたま」うまくいくだけのようです.
Webサーバからリクエストをするときは,自サーバに投げればよいと思うのですが,負荷分散装置に投げているので「あてもん」状態です.
負荷分散装置を使うのは珍しいことではないので,他のサイトではちゃんと動いているはずなのですがねぇ...
因みに,負荷分散装置向けでなく,特定のWebサーバに向けてリクエストを投げると100%うまくいきます.
このときは,(2)のリクエストの際 明示的に自サーバに向けて投げています.