172 похожих чатов

Добрый день, надеюсь не оффтоп. Видео-сервисы типа ютуба очень требовательны

к ширине канала.
Подскажите, как реализуется балансировка нагрузки по серверам в данном случае? Не очень разобрался в вопросе.
Я гуглил DNS Round Robin, но в этом решении нет никакого контроля нагрузки, доступности серверов. Nginx тоже умеет в Round Robin, но я так понял он просто проксирует запросы через себя. Это не решает проблему ширины канала.
Как же сделать так, что бы клиент перейдя по имени сайта без всяких редиректов(бесшовно) начинал работу на сайте? При этом что бы где-то на бэке был интеллектуальный балансировщик, который принимает решение какой сервер будет обслуживать клиента.

18 ответов

8 просмотров

CDN, наверное

google cloud cache, вроде так называется

Ютуб – это очень частный случай. Тут проблема в том, что провайдерам не хватило бы ширины канала, чтобы давать пользователям смотреть Ютуб в том объеме, в котором его смотрят сейчас. Поэтому у самих провайдеров по всему миру стоят кэш-сервера с гугловым контентом. Таким образом получается сильно снизить нагрузку на ширину канала.

Alexander- Автор вопроса
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ютуб – это очень частный случай. Тут проблема в то...

Можно рассмотреть любой видеохостинг, проблема будет та же. Скажем на сервере гигабитный порт, а для стриминга видео в 1080 нужно 5мбит в секунду. Получается что такой сервер может обслуживать за раз только 200 клиентов?

Покупается cdn у гугла/амазона/qrator. Да, на два сервера можно сделать самому через роутер с iptables или там через, действительно nginx какой. Но если не знаешь как — то это много затрат времени разработчиков, и результат хужэ, чем у мастеров.

Alexander
Можно рассмотреть любой видеохостинг, проблема буд...

На самом деле — меньшэ, там накладных расходов дрфига... Только что это за сервер с гигабитом? Гигабитов в приличном сервере должно быть штук 8. Хотя, конечно, для отказоустойчивости можно сразу клепать распределённые системы.

асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ютуб – это очень частный случай. Тут проблема в то...

Хватило бы. Кэш-сервера снижают и экономят, но там не в разы совсем эта экономия.

Ilya Anfimov
Хватило бы. Кэш-сервера снижают и экономят, но там...

А есть где-нибудь статистика на эту тему? Ширину подводных межконтинентальных каналов я могу посмотреть, а вот оценить трафик Ютуба вне кэш-серверов уже нет.

Ilya Anfimov
Хватило бы. Кэш-сервера снижают и экономят, но там...

у видео из россии милионо просмотров что дешевле чтобы его смотрели из локалки провайдера или гонять каждый раз видео из европы или где там у них датацентр ближайший

central hardware
у видео из россии милионо просмотров что дешевле ч...

Ну, не из локалки, а из русских/европейских DC гугла чаще.

асоциальный пикотранзистор ᶘಠᴥಠᶅ
А есть где-нибудь статистика на эту тему? Ширину п...

Ggc рассказывает про 70-90% в рекламной заманухе и про более 60% в технической. Тащемта 60-70% от статического контента можно считать вменяемой оцэнкой. Которого, кстати у них дофига, но тожэ отнюдь не единственное, что идёт от гугля — одно наблюдение за андроидами сколько жрёт. И гугль — сильно не единственный жырный кот здесь. Фейсбук с вацапом, телеграм, вконтактик...

Ilya Anfimov
Ggc рассказывает про 70-90% в рекламной заманухе и...

не думаю что мессенджеры много трафика гоняют

Сайт может быть один, а серверов отдачи контента несколько. Сайт будет указывать ближайший к пользователю сервер с контентом

Alexander- Автор вопроса
1Bot
Сайт может быть один, а серверов отдачи контента н...

Я тоже пришёл к этому варианту, как к простейшему. Но мне показалось это немножко костылем. Получается сначала главный сервер с сайтом(балансер) отдаёт клиенту сайт. Потом сайт делает запрос к балансеру что бы выяснить какой медиа-сервер можно выбрать. Потом делает запрос уже к целевому медиа-серверу. Показалось многовато телодвижений что бы у клиента наконец отобразился весь контент. Но наверное так и нужно делать.

Alexander- Автор вопроса
1Bot
Cdn так и делает

Вот оно как! Спасибо. Я всё думал что там что-то по хитрее творится.

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
7
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Карта сайта