Отслеживание путей запросов к серверам за балансировщиком нагрузки
Предположим, у нас есть два сервера A и B позади некоторого балансировщика нагрузки, который каким-то образом распределяет запросы между этими серверами. Какова лучшая практика отслеживания того, какой сервер обработал запрос? Предположим, у нас есть REST API с одной конечной точкой GET /ping
, Это хорошая идея, например, включить информацию о хосте в заголовки?
2 ответа
Что мы обычно делаем, так это то, что мы настраиваем LB на включение заголовка, только если клиент запросил его. При создании запроса /ping также добавьте только известный вам заголовок, например "X-Debug-Me: true". Когда этот заголовок присутствует, то ваш LB или сервер могут вставить свое реальное имя хоста в любой заголовок, который вы хотите.
Батист
Вы пытаетесь отследить это на LB или на серверах origin/API?
Разве информация о хосте уже не должна быть в заголовке? LB действует как обратный прокси и заменяет запрашивающее имя хоста своим собственным именем хоста?
Я бы согласился с @baptiste, что если вам нужно отслеживать этот тип информации, лучший способ сделать это - использовать пользовательский заголовок.