QA 環境には 2 つの Web サーバーと 1 つのアプリ サーバーがあります。それぞれが Membase サービスをホストします。簡単にするために、Web サーバーを web01 と web02 と呼びましょう。どちらも IIS を実行しています。
Membase にアクセスするには、.Net クライアントを使用します: http://memcached.enyim.com/
ここで発生している問題は、web01 が Membase にアクセスし、いつでも問題なく値を設定および取得できることです。ただし、web02 は Web アプリケーションから Membase にアクセスできないようです。
テスト コンソール アプリを作成し、web02 サーバーから実行したところ、問題なく動作しました。
web02 構成にある URL とポートに Telnet で接続しようとしても、うまくいきました。
Membase 構成値は、machine.config ファイルで定義されます。WinMerge を使用して web01 と web02 の間で machine.config ファイルを比較したところ、それらは同一でした。
次に、リフレクションを使用して MembaseClient オブジェクトのダンプを作成しました。これが Web02 で得られるものです。
==========================================
Setting Value: 1337047585
On the Key: testPageKey_287945569
"Setting NOT successful!!"
*Membase Client dump:*
bucketName: OurBucketName
bucketPassword: ThisIsAPassword
poolUrls count: 3
Url_0: http://web01:8091/pools/OurBucketName
Url_1: http://web02:8091/pools/OurBucketName
Url_2: http://app01:8091/pools/OurBucketName
Node: 69.147.125.66:11210 is alive: False
Node: 69.147.125.67:11210 is alive: False
Node: 69.147.125.68:11210 is alive: False
==========================================
最後の 3 行がどのように Node IsAlive = False に言及しているかに注意してください...これは私にとって非常に不可解です。また、web02 を含む任意の場所から実行されているテスト アプリから、その QA Membase クラスターで正常に値を設定および取得できます。
誰もこの問題に遭遇したことがありますか? または、それを解決するためにどこを探すべきかについて何か考えがありますか?
ありがとう。