TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
feedmetoo

14 Feb 2024, 12:28

Открыть в Telegram Поделиться Пожаловаться

Репост из: Алексей Рыбак: системный дизайн, хайлоад, разработка с агентами
Балансировка нагрузки

Комьюнити-чат образовтельного проекта приносит интересные ссылки и обсуждения.
Началось с обсуждения твита кого-то из Амазона, о том, что обычный алгоритм round robin (последовательно раскидывает нагрузку по всем нодам) даёт сильные “перекосы” в нагрузке. Предлагался альтернативный способ: выбирать случайно пару нод для балансировки, и из этой пары уже выбирать ту ноду, которая нагружена меньше.

Это безусловно шаг вперёд, но вообще ход рассуждений нужен следующий: давайте учитывать нагрузку и производительность. Ведь как только мы заявили требование "хочу уметь выбрать наименее загруженный", мы автоматически получаем требование сбора метрик, причем собирать нужно реалтайм. А как только ты собрал такие метрики реалтайм - открывается масса других возможностей, не только просто взять два и выбрать наименее загруженный.

Тот же Weighted Round-Robin (распределение нагрузки с динамическими весами) даёт отличные результаты, причем конечный результат заметно улучшается даже без реалтайма. Вот на этой уже довольно древней Хайлоад-конфе Юра Насретдинов, на тот момент ещё сотрудник Badoo, рассказывает, как он динамически раз в 15 минут пересобирает веса и регенерит их для LTM - и это даже нормально работало: https://www.youtube.com/watch?v=jHYzy6DDo9c.

А ещё прикольная статья с анимационной иллюстрацией алгоритмов балансировки (RR, WRR, Least connections, Latency-based). В конце страницы отличный “симуляционный” плейграунд на яваскрипте, можно выбрать любой алгоритм, плотность входящих запросов и смотреть, как наполняются очереди (и дропаются заявки от переполнения).
Сама статья здесь: https://samwho.dev/load-balancing/, ссылки изначально нашел Андрей Л, участник буткемпа, вот в этом канале: https://t.me/ThePr0Ger.

----
https://devhands.io/ru/ - образовательные треки по хайлоаду, системному дизайну, linux и другим advanced темам
https://t.me/feedmeetoo - интересные статьи, ссылки, презентации
Как мы сделали ровную балансировку нагрузки на фронтенд-кластере / Юрий Насретдинов (Badoo)
Приглашаем на конференцию HighLoad++ 2023, которая пройдет 27 и 28 ноября 2023 в Москве! Программа, подробности и билеты по ссылке: https://clck.ru/354BuE -------- HighLoad++ 2015 Презентация и тезисы: http://www.highload.ru/2015/abstracts/1950.html В докладе я расскажу о том, как мы добились и...

744 0 8 5
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot