PavelBlum
@PavelBlum
Web developer

Как построить инфраструктуру большого проекта?

Всем привет!
Подскажите пожалуйста, как должна выглядеть инфраструктура проекта, с примерно 10 000 одновременных посетителей, около 500 000 - 1 000 000 пользователей? Интересует именно вопрос правильного размещения такого проекта - количество серверов, зеркала, анти ддос. Как нужно правильно размещать на продакшене такие проекты? Буду рад любому совету, заранее спасибо.
  • Вопрос задан
  • 2052 просмотра
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Ставим линукс и увеличиваем кол-во постоянных соединений (запуск из под root: su/sudo):
echo 2000000 > /proc/sys/fs/nr_open
ulimit -n 2000000
2. А затем, настраиваем anti-ddos.
3. Ну и создаём CDN-кластер, если планируются разные гео-зоны и/или отказоустойчивость.
4. Ставим защиту на скрипты веб-сайта: здесь

PS: В зависимости от типа и сложности: можно использовать Docker на продакшне или же только для development-среды.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
index0h
@index0h
PHP, Golang. https://github.com/index0h
Вопрос из серии пальцем в небо.
Не меряется нагрузка в посетителях. Она меряется в rps и *bit/s. Также нужно знать прожорливость вашего ПО к io+ram+cpu иногда еще и gpu.
Количество серверов, способы распределения нагрузки, всякие репликации бд, распределения между ДЦ подбираются по конкретный проект.
Не бывает в природе такого, что вот так хренак и у вас откуда не возьмись 1кк активных юзеров, ну разве что событийные проекты типа прямых трансляций. Именно по этому рекомендую начать с малого, а дальше оптимизировать и распределять нагрузку между серверами там, где это необходимо. Например, у вас фото сток: cdn - это то, что вам потребуется. У вас месенджер - стоит выделить кучку серверов на поддержание сокетов с пользователями + хорошо прработать историю сообщений.
Ответ написан
DexterHD
@DexterHD
Software Engineer, Teamlead, CTO
Для начала изучите принципы приложения 12 факторов: https://12factor.net/ru/ Эти рекомендации позволяют создавать приложения которые легко и просто масштабируются, как горизонтально, так и вертикально.
После можете посетить хороший ресурс со статьями на тему высоких нагрузок: https://ruhighload.com/
Ответ написан
opium
@opium
Просто люблю качественно работать
Если все достаточно оптимально и нет каких то глупостей можно воткнуть на один сервер и все будет ок
Ответ написан
Комментировать
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Если вам нужна надежная система высокой доступности то вам в облака. И это не сильно про девопс - больше про сети и архитектуру. Есть базовые вещи вроде динамического горизонтального масштабирования и балансировки, а есть не очень базовые как низкое связывание. Если у вас интересный проект - обращайтесь
Ответ написан
Ranwise
@Ranwise
почитайте The System Design Primer, там есть некоторые примеры архитектуры приложений
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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