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