Балансировка нагрузки нескольких серверов Icecast
Я получил задачу балансировки нагрузки нескольких серверов Icecast для интернет-радио. Но после нескольких часов исследований я зашел в тупик и понятия не имею, как их сбалансировать.
Я пытался перенаправить пользователя в разные потоки, но некоторые программы, используемые нашими слушателями, не поддерживают перенаправления.
Другой вариант, который я имел в виду, был Round Robin DNS, но это не кажется хорошей идеей, так как некоторые клиенты не уважают TTL и кэшируют серверы в течение нескольких дней.
Если бы кто-нибудь мог отправить мне правильное направление, это было бы здорово! Спасибо за любую помощь заранее.
1 ответ
RR-DNS - самое простое и достаточно эффективное решение для этого.
Тот факт, что некоторые клиенты будут кэшировать результат немного дольше, статистически не имеет значения. Вы получите примерно равномерное распределение. В любом случае вы не хотите максимально использовать возможности сервера.
Кстати, я надеюсь, что у интернет-радио есть веские причины для балансировки. Один экземпляр Icecast легко масштабируется до 10000 слушателей (ограничено только пропускной способностью сети сервера). Я продолжаю смотреть радио со средним числом слушателей <200, обеспокоенным этим, и это просто напрасная трата усилий.
PS: Я немного удивлен, что все еще есть клиенты, которые выходят из строя 301/302, хотите назвать их? Возможно, мы захотим использовать их как Xiph.org / проект Icecast.