Архитектура на вырост.

UU
На сайте с 23.06.2010
Offline
28
689

Интересует продуманная схема простой и продуманной архитектуры, которая может вырасти в высоко нагруженную систему.

Для начала может быть все на одном сервере, а дальше уже по необходимости.

Я предполагаю такую схему:

На железо накатывается прослойка в лице proxmox ve или ovirt/

Создаются виртуальные машины, каждая с минимальной настройкой и единственным функционалом

- балансер

- сервер приложения

- база данных

- файловый сервер

    • Балансер принимает запросы, нагрузка на него понятно, он не обрабатывает, возможно это будет стоять легкий nginx
    • Сервер приложения соответственно кому нужен функциональный, кому нужен быстрый, для php и возможности ajax визуализации аплоада файла это может быть по apache, или если у вас питон или руби, то свой (сервер)
    • Бд должно иметь возможность роста в ширину, знаю что последний postgres имеет соответствующие приложения для масштабирования. http://www.ibm.com/developerworks/ru/library/os-05_sql/
    • Файловый сервер тоже легкий, от тюнингованный чисто на отдачу статики.
    • На начальном этапе, все храниться на одном сервере.
    • Есть возможность бекап не только бд и файлов, но и быстрое востановление рабочей конфигурации сервера (бд, приложения).
    • При нагрузке на определенную виртуальную машину, видно в чем именно узкое место и живая миграция на соседний сервер (в крайнем случай подготовка через транспорт снапшота и быстрое поднятие с дельтой)
    • Отдельный файловый архив тоже можно перенести, и в дальнейшем настроить использование CDN
N
На сайте с 06.05.2007
Offline
419
#1
UnnamedUA:
Ваши предложения/рассуждения по этому поводу?

Используй обычную архитектуру. А когда придет время, выкинь ее и перепиши со всеми вышеперечисленными страшными словами.

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

Кнопка вызова админа ()
M
На сайте с 16.09.2009
Offline
278
#2

Поддержу предыдущего оратора. Не нужно переусложнять работающую систему просто "чтобы было".

А вот ваше работающее приложение можно и нужно писать (или подбирать, если речь о CMS), держа в уме дальнейшую возможность адаптации творения под что-то подобное.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
zexis
На сайте с 09.08.2005
Offline
388
#3

Вы пишете второй вконтакте или яндекс?

Какого рода и посещаемости сайт вы делаете?

По моей оценке сайт с посещаемостью до 5-10 миллионов кликов к страницам в сутки будет нормально работать на стандартной системе на мощном сервере без каких то особых заморочек.

У меня один сервер держит около 5 миллионов запросов в сутки к тяжелым страницам PHP.

Load average 0.5

Если будут тормоза, то можно будет mysql или апаче на отдельный сервер поставить.

Вопрос архитектуры большого сайта – весьма сложный и сходу на него не ответить.

Нужно, пробовать, тестировать, много думать.

A
На сайте с 14.11.2011
Offline
34
alw
#4

А я за разнос по виртуалкам, одна машина - одна задача. Масштабируется легче, управляется легче.. Опять таки паппет порекламирую - виртуалки руками не настраивать, а автоматом... Мониторинг автоматом на основе паппетовых классов собирать, бекап...

Ну разумеется это все имеет смысл если в обозримой перспективе оно будет разрастаться. Если пока не понятно - то соглашусь с предыдущими ораторами

Администрирование linux, windows (/ru/forum/671883) icq 4831950
UU
На сайте с 23.06.2010
Offline
28
#5

Ну скажем есть потенциал до 10 млн. просмотров точно есть, больше как вложимся.

Ria.neiron
На сайте с 22.03.2009
Offline
347
#6
UnnamedUA:
Ну скажем есть потенциал до 10 млн. просмотров точно есть, больше как вложимся.

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

Безлимитные серверы 100 Mbps от 29$. (http://megahoster.net/server_nl.php) Нидерланды Безлимитные серверы 1 Gbps от 59$ (http://megahoster.net/server_fr.php) Франция, США Администрирование серверов и перенос сайтов - бесплатно!
UU
На сайте с 23.06.2010
Offline
28
#7

Ну я не сказал что пишу вконтакт же? :), а назвал адекватное число, оцененное по счетчикам конкурентов.

N
На сайте с 06.05.2007
Offline
419
#8

UnnamedUA, ну, допустим, есть еще одна разумная переходная ступень между одним сервером и кластером : одна задача - один диск (или массив).

Вычислительные мощности современных процессоров превосходят потребности веба за исключением некоторых узких задач.

В хороший сервер можно набить 6-8 дисков,два физических процессора и памяти довольно много.

При этом нагрузка ввода-вывода будет распределяться по дискам, но вы будете избавлены от сложных проблем синхронизации в сети.

zexis
На сайте с 09.08.2005
Offline
388
#9

Есть много простых и доступных способов распределить нагрузку на несколько серверов, прежде чем городить огород со сложными системами.

1) Вынести отдачу статики на отдельные сервера

2) Вынести mysql на отдельные сервера. С помощью репликации mysql распределить БД на несколько серверов.

3) Вынести апач на отдельный сервер.

4) Сделать несколько фронтендов nginx которые будут проксировать на один бэкенд. Между фронтендами сделать балансировку нагрузки с помощью ДНС.

Думаю, что эти доступные методы позволят держать нагрузку в десятки миллионов запросов в сутки. Наверное, даже вконтакте такая система выдержит. А если и этого будет мало, то значит вы создали второй яндекс. И денег у вас миллионы.

Himiko
На сайте с 28.08.2008
Offline
560
#10

Вам уже всё расписали, в принципе.

Простейшие схемы на будущее:

1) Отдельный сервер баз данных, отдельный сервер с проектом. Вообще никаких проблем в реализации.

2) nginx + apache на одном сервере. На нём же прописан в nginx второй сервер как бэкенд (балансировка).

Файлы дублируются на втором сервере. Вариантов здесь несколько:

а) DRBD

б) rsync (самый простой в реализации вариант)

в) NFS и т.п.

Так же 3-й сервер используется под базы данных.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий