В нашей среде QA есть 2 веб-сервера и 1 сервер приложений. Каждый из
на них размещен сервис Membase.
Для простоты давайте назовем веб-серверы: web01 и web02. И то и другое
работает IIS.
Для доступа к Membase мы используем .Net клиент: http://memcached.enyim.com/
Проблема, с которой мы здесь сталкиваемся, заключается в том, что web01 может получить доступ к Membase,
установить и получить значения без каких-либо проблем, каждый раз.
Однако web02 не может получить доступ к Membase из нашего веб-приложения.
Мы написали тестовое консольное приложение и запустили его с сервера web02, и оно
работал просто отлично.
Мы даже пытались подключиться через Telnet к URL и порту, которые есть в web02
конфиг и все заработало.
Значения конфигурации Membase определяются в machine.config
файл. Мы сравнили наши файлы machine.config между web01 и web02 w /
WinMerge и они идентичны.
Затем я создал дамп нашего объекта 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 ... This
очень озадачивает меня, потому что web01 говорит, что все узлы живы и
так же как и консоль администратора Membase.
И снова из нашего тестового приложения, работающего из любого места, включая web02, мы можем успешно устанавливать и получать значения в этом кластере QA Membase.
Кто-нибудь когда-либо сталкивался с этой проблемой? Или есть представление о том, где мы
должен искать, чтобы решить это?
Спасибо.