Позвольте мне предварить это словами: я не системный администратор, я программист.
Недавно наши системные администраторы установили балансировщики нагрузки F5. С тех пор я заметил, что каждый раз, когда запрос истекает и выдает 500, балансировщик нагрузки отправляет тот же запрос на наш другой сервер. IIS отправляет ответ о тайм-ауте, хотя скрипт на самом деле все еще работает. Даже POST-запросы дублируются, если скрипт выполняется более 5 минут. Мне кажется, что это потенциальная проблема, особенно на сайтах электронной коммерции, в которых участвует биллинг клиентов.
Это только проблема с некоторыми из наших более длительных скриптов (но это серьезная проблема). Мне сказали, что это ожидаемое поведение, и нам придется изменить наш код для соответствия. Итак, мои вопросы:
- Это ожидаемое поведение?
- В чем преимущество балансировщика нагрузки, повторяющего запрос после истечения времени ожидания, кроме того, что пользователю не нужно обновлять?
- С этой архитектурой, если скрипт, который либо загружает сервер, либо запускает ресурсы, будет запущен на обоих серверах. Это действительно оптимально?