У меня есть два сервера с именами хостов comp1 и comp2. У меня также есть плавающий псевдоним (master), который динамически сопоставляется с одним из двух серверов. Я обслуживаю один и тот же апплет с обоих серверов. Клиенты обычно подключаются к master, но вполне допустимо напрямую подключаться к comp1 или comp2.
Клиенты жалуются на то, что им всегда приходится ждать загрузки апплета (он довольно большой). Я думал, что как только клиент загрузит необходимые банки, они будут кэшироваться и больше не будут загружены. Сначала я думал, что клиентский плагин настроен не на кеш, но я думаю, что нашел причину проблемы, хотя я этого не понимаю.
- Подключить клиента к
master(который в настоящее время указывает наcomp1) в первый раз. Должен ждать загрузки банок. Ожидается. - Подключить клиента к
masterснова. Мне не нужно ждать загрузки банок. Это также ожидаемое/желаемое поведение. - Подключить клиента к
comp1. Должен ждать загрузки банок. Я бы предпочел, чтобы это не произошло, поскольку это тот же сервер, но я могу понять, почему, посколькуcomp1отображается клиенту как совершенно другой узел. - Подключить клиент обратно к
master. Опять же, я должен дождаться загрузки всех банок. Это не то, что я ожидал. Банки должны были быть загружены уже в шагах 1/2.
Используя панель управления Java, я вижу ресурсы, которые находятся в кеше. Мне кажется, что ресурсы привязаны по URL-адресу, поэтому я не знаю, почему я получаю то, что делаю. Кажется, что два разных имени хоста для одного и того же сервера испортят кеш клиента.
Я должен упомянуть, что имя хоста master - это не просто псевдоним DNS. Это фактический другой IP-адрес, который comp1/comp2 динамически связывает/развязывает, пока приложение работает.
Можете ли вы объяснить, что я вижу здесь, или предложить некоторые способы для расследования?