Первая моя установка, которая используется для целей тестирования:
- 3 Виртуальные машины, работающие со следующей конфигурацией:
- MS Windows 2008 Server Standard Edition
- Последниеверсия AppFabric Cache
- Каждый из них имеет локальную сетевую папку, в которой хранится файл конфигурации (я добавил все машины в каждую конфигурацию)
- Кэш распределен, но не высокая доступность (у нас нет корпоративной версии Windows)
- Каждый хост настроен как ведущий, поэтому, согласно документации, по крайней мере один хост должен иметь возможность аварийного завершения.
- КаждыйНа машине установлен веб-сайт, который я тестирую, и настроен локальный кэш
- Одна машина Linux, которая используется в качестве прокси-сервера (используется лак) для распределения трафика в целях тестирования.
Это настройка и теперь проблема.Сценарий, который я тестирую, моделирует сбой одного из серверов, а затем возвращает его в кластер.У меня проблема как со сбоем сервера, так и с его восстановлением.Шаги, которые я использую для его проверки:
- Направьте трафик с помощью Varnish на машине linux только на один сервер.
- Войдите в систему, чтобы убедиться, что в кеше что-то есть.
- Отключите сетевой кабель для одного из других серверов (имитирует сбой этого сервера)
Теперь я получаю тайм-аут кэша и получаю сервисную ошибку.Я хочу, чтобы приложение все еще работало на серверах, которые не зависали, и потребуется некоторое время для восстановления кэша на оставшихся серверах.Это так и должно быть?Повторное подключение сетевого кабеля и запуск хоста вызывают аналогичную проблему.
Так что мой вопрос: что-то пропустил?Я хотел бы, чтобы это произошло в том случае, если в случае сбоя одного из серверов кэш все равно будет перезагружен, поскольку большинство из них все еще работают, а повторный запуск сбойного сервера должен корректно вернуть его в кластер без каких-либо проблем на сервере.другие хозяева.Но это может быть не так, как это работает?