Задать вопрос

Нужна консультация по высоконагружаемым проектам

Уважаемое хабрасообщество!
Простите, если пишу не туда.

Мне очень нужна консультация специалиста по высоконагружаемым проектам. На данный момент веду с командой программистов разработку проекта, который должен выдерживать 1000 посетителей онлайн. Опыта/знаний разработки высоконагружаемых проектов недостаточно, поэтому буду очень благодарен если отпишется специалист который имел опыт создания высоконагружаемых проектов и который сможет помочь онлайн-консультацией(к примеру через Skype) в следующем:

— Как правильно организовать PHP-архитектуру?
— Как правильно организовать архитектуру базы данных MySQL?

Буду очень благодарен и готов заплатить консультанту за потраченное время.

Спасибо!
  • Вопрос задан
  • 2652 просмотра
Подписаться 11 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 7
@YourChief
а почему mysql-то?
Ответ написан
@deco Автор вопроса
Проект обучающего направления — как аналог могу привести в пример lingualeo.ru/
Не знаю будет ли это ответом — немного о проекте:

— Регистрация людей, которые будут проходить обучение;
— Разные уровни доступа к материалам;
— Большой архив мультимедиа-файлов;
— Персональные страницы, взаимодействие между учащимися и преподавателями;
— Некоторые соц.функции (стена, личные сообщения, лайки)

Отталкиваемся от того, что архитектура проекта будет MVC. Нужен человек, который не будет решать наши проблемы, а который расскажет о том, как лучше это сделать(направит в правильную сторону, а дальше будем учиться сами):

— Как правильно организовать PHP-архитектуру (какие есть подводные камни, возможно хаки)? Какую архитектуру классов нужно применить к MVC, что бы ее улучшить? Возможно есть лучшие архитектуры?
— Как оптимизировать запросы к базе данных?
— Оптимизация самой базы данных (внутренние и внешние ключи)
— Оптимизация PHP-скриптов
Ответ написан
@bondbig
1000 онлайн? Это ничего не говорит, например, да и вообще на хайлоад не тянет ни под каким соусом.
Ответ написан
@xserg
Для высокой загрузки можно использовать такую архитектуру:
front end
nginx + php-fpm
mysql — slave servers (необходимое количество)

Для статических файлов — отдельный сервер
Кеширование — memory_cache (несколько уровней)

back end — apache+php
mysql — master servrer

А вообще 1000 человек действительно ниачем
Ответ написан
vaevictus
@vaevictus
Чтоб ответить на Ваш вопрос — нужно знать специфику ваших «1000 посетителей» — толи они мирно читают новости, толи ищут себе партнёра из базы на эн миллионов анкет, толи общаются в он-лайн чате.

Если ваши пользователи будут совершать одно действие в минуту — то выдержит один сервер, с php-fpm за nginx-ом. (если конечно не на тяжелом фреймворке всё будет сделано). Если будут как ненормальные обновлять страничку (или вести оживлённые беседы в реалтайм чате) — стоит задуматься о выносе функционала в java.

А вообще — пишите в личную почту, помогу чем смогу. Работал оптимизатором(не тем, который тексты переписывает :)) на сайте знакомств, нагрузка была более 5млн в день
Ответ написан
Комментировать
Поищите в интернете выступления Алексея Рыбака на всяких конференциях — PhpConf, Highload итд.
Он там постоянно рассказывает про архитектуру высоконагруженных сервисов (на примере badoo).
Ну а так, можно почитать топики на хабре про общие вещи — архитектура, кеширование итд, про конкретные вещи можно спросить в Q&A, ну или в личку, например мне, помогу чем смогу.
Удачи Вам.
Ответ написан
Комментировать
@Ura78
Мы пользовались услугами sqlinfo.ru/services/, толковые ребята
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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