| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Создание высоконагруженного сайта на Perl |
| Автор: AlexanderI 8.4.2010, 10:27 |
| Здравствуйте. Возникла задача создания высоконагруженного сайта на Perl. Предполагается около 1.000.000 хитов в сутки. Т.к. опыта по созданию высоконагруженных сайтов у меня нет, возникло много вопросов.: 1. Какие технологии и модули Perl лучше всего использовать. 2. Какой синтаксис использовать при программировании. Обязательно ли использовать use strict. и т.д. Буду раз любым предложениям и советам как это лучше всего делать. |
| Автор: gcc 8.4.2010, 10:46 |
| youporn.com 100 млн хостов/сутки Catalyst |
| Автор: odmink0 8.4.2010, 10:49 |
| Для разработки серьёзных веб-приложений обычно используются фреймворки, наиболее популярны сейчас Catalyst и Mojo(licious). Catalyst - более мощный, имеет больше примочек, плагинов, довольно долгую историю разработки. К тому же по нему полно документации - есть пара книг (последняя вышла в прошлом году - изд-во Apress, "The Definitive Guide to Catalyst"). Также на CPAN имеется Catalyst::Manual::Tutorial, который также рекомендуется к прочтению. Если же чтение документации - не твой метод, а ты любишь покопаться в коде - добро пожаловать в мир Mojolicious. Документации для него сейчас очень мало, для того, чтобы понять как что действует - придётся анализировать его код и код проектов, написанных на нём Оба этих фреймворка позволяют использовать технологию, которая больше нравится тебе - cgi, fastcgi, имеют встроенный сервер. Для высоконагруженных сайтов, пожалуй, наиболее подходит fastcgi. Или встроенный сервер для динамических страниц + nginx для отдачи статики. Обязательно ли использовать use strict? Да, обязательно, а также use warnings. Это давно следует взять за правило всем Perl-программистам, пишушим сколько-нибудь серьёзные программы. |
| Автор: ginnie 8.4.2010, 12:24 |
| AlexanderI, если у Вас нет опыта разработки высоконагруженных проектов, то на что-то серьезное замахиваться сразу не стоит. Фраза "1.000.000 хитов в сутки" еще ни о чем не говорит, 12 запросов в секунду для несложных скриптов - не проблема даже без опыта в этой области. Я работаю в проекте с посещаемостью 8-10 млн. хитов в сутки. 5 серверов для скриптов и 4 сервера для статики. Используется схема с легким фронтендом (nginx) и бэкендами (apache + mod_perl), разноуровневое кэширование с использованием memcached. Самое главное при разработке высоконагруженной системы - сразу ориентироваться на использование нескольких серверов, даже если реально есть только один, иначе в будущем многое придется переделывать с нуля. К использованию фреймворков надо относиться очень аккуратно, т.к. они хорошо подходят для быстрой разработки проекта, но потом возникнут большие проблемы при попытке увеличить производительность системы путем оптимизации кода. |
| Автор: mvsgt 8.4.2010, 16:57 |
ginnie, а не возникало сомнения в правильности использования perl в большом проекте? |
| Автор: ginnie 8.4.2010, 17:07 |
| Нет, у меня сомнений не возникало. Конечно можно привести массу аргументов, почему нужно использовать что-то другое. Но в жизни нет ничего идеального. Поэтому любое решение - компромис. Проект работает и приносит деньги. Если сделать проект не на Perl, он денег будет приносить больше, меньше или столько-же? |
| Автор: mvsgt 8.4.2010, 18:27 |
| У меня стоит задача делать проект с нуля - потому и интересуюсь. В своих перловых я столкнулся с проблемами некоторыми, типа SOAP, ORM и так далее. Приходится часть делать на яве. |