Я прочел 'youtube-архитектура'но до сих пор не понимаю одного момента.
Предположим, у меня есть немного больший контент для доставки и один балансировщик нагрузки (nginx) указывает через обратное проксирование, например, 10 внутренних серверов (java / jetty). Теперь предположим, что 1 ГБит / с для каждого сервера.
Когда у приложения появится больше пользователей, у меня есть несколько вариантов:
Есть другой вариант?
Например. 2 вариант без перенаправления? Или это нормально, что клиенты просто загружают тонкую оболочку приложения, например youtube.com, а затем загружают видео с разных доменов, например xy.googlevideo.com?
Существует несколько вариантов увеличения и уменьшения масштаба.
Поместите свой статический контент в CDN. Они будут через Интернет, надеюсь, рядом с клиентами. Youtube определенно можно рассматривать как CDN, но имейте в виду, что их архитектура менялась с годами.
Масштабируйте себя. Используйте DNS или anycast или добавьте уровни в архитектуру. Принять более сложный, чем один серверный демон. Смотрите также: Каков типичный метод масштабирования программного балансировщика нагрузки?
Увеличить масштаб. Получите больше пропускной способности для балансировщика нагрузки, например несколько ссылок по 10 Гб. Убедитесь, что ваше программное обеспечение масштабируется.