http://www.g2b.perm.ru/
Срок разработки - менее 4х недель. Причем основная проблема была в дизайне и верстке.
Кратко архитектура:
Сервер: виртуальный с 256Мбайт ОЗУ
ОС: Fedora Core 8
СУБД: PostgreSQL 8.3
Веб-сервер: Apache
Сервлет контейнер: Tomcat 6.0.14 (JRE: 1.6.0_u7)
Полностью все реализовано на Grails 1.0.3, Groovy 1.5.6. Отправка почтовых сообщений осуществляется при помощи Quartz 1.6.0 каждую минуту, если есть что отправлять, использованы соответствующие плагины для Grails. Кроме того была применена библиотека для обработки BB-кодов KefirBB. В качестве кэша 2го уровня Hibernate использован EhCache, который, как выяснилось, достаточно просто настраивается.
Доступ к статическим ресурсам (картинкам и CSS), а так же к загружаемым пользователем файлам осуществляется посредством Apache, без Tomcat'а, что опять же способствует повышению производительности. Мы приняли решение хранить загружаемые пользователем файлы на диске, т.е. не в БД, что позволяет получать к ним быстрый доступ без особенных затрат, правда усложняет бакап данных, но не сильно. Загружать файлы может только администратор, так что не ищите такую возможность. :)
October 4 2008, 08:19:20 UTC 3 years ago
С успешным запуском Вас
А что это такое у меня в адресной строке появилось при заходе?;jsessionid=B19612FB71358597865A4676561F
Зачем sessionid передаётся GET-методом?
October 4 2008, 10:37:51 UTC 3 years ago
Re: С успешным запуском Вас
Хм... Че-та недонастроили... :)October 6 2008, 09:03:06 UTC 3 years ago
Re: С успешным запуском Вас
Поправили.3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
October 4 2008, 12:04:55 UTC 3 years ago
October 4 2008, 18:00:28 UTC 3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
October 4 2008, 18:10:45 UTC 3 years ago
Файлы на диске хранить это не Ъ. С БД намного удобней имхо. С ФС еще всякую уникальность имен нужно соблюдать... Можно ли загружать файлы с кириллическими именами? Ну, пока может только админ это не так критично, но БД все равно лучше.
October 4 2008, 18:48:27 UTC 3 years ago
В общей сложности занимались 3 человека:
Я - вся разработка, включая даже верстку.
Дизайнер - рисование рисунков.
Мой начальник - оформление бумажек, определение требований, участие в проектировании, поиск хостинга и администрирвоание виртуального сервера.
С хостингом, кстати, у нас была неопределенность долгое время. Даже была мысль использовать в качестве СУБД HSQLDB. Кстати ее можно использовать, разработку и тестирование в основном вели на HSQLDB. Вообще я остался очень доволен HSQLDB, она вполне пригодна для промышленной разработки. Ну а тестировать однозначно лучше с использованием HSQLDB, т.к. в памяти она просто летает и тесты отрабатывают мгновенно.
Изначально файлы сохранялись в БД, но во-первых нам было сложно предсказать реакцию HSQLDB на хранение больших файлов, а во-вторых доступ к файлам на диске очевидно идет быстрее, чем через кучу промежуточных уровней. В итоге мы приняли решение хранить их в ФС, конечно можно было бы продумать кэширование на диск и совместить скорость и сохранность, но это лишние заморочки. Хотя отсутствие этих заморочек привело к заморочкам с бакапом.
Конфликты имен разрешаются очень просто: в БД сохраняется дескриптор файла, а к имени сохраняемого фала добавляется префикс из идентификатора и подчеркивания, например: "image.jpg" превращается в "123_image.jpg", конечно здесь могут возникнуть проблемы с слишком длинным именем, да и с кириллическими именами, как Вы верно заметили, но загружает их администратор, которого мы можем тупо предупредить об этом.
October 4 2008, 18:56:41 UTC 3 years ago
Да нет, нормально, в принципе.
Я как-то игрался с HSQLDB, но насчет продакшна: люди говорят, что не тянет она серьезных нагрузок. А вы вообще нагрузочно тестировали? JMeter там, всякая другая романтика?
3 years ago
3 years ago
October 5 2008, 09:15:10 UTC 3 years ago
Ещё один минус хранения файлов в субд - дополнительная нагрузка на память. И с бэкапом файлов из DB всё не так просто.
October 6 2008, 13:37:38 UTC 3 years ago
А какая БД?
А какая БД всё-же?3 years ago
October 5 2008, 10:20:05 UTC 3 years ago
October 5 2008, 10:48:34 UTC 3 years ago
А вообще это был отчасти эксперимент. Понятно, что теория, и модельные задачи это хорошо, но вот как все будет на практике никто не знает заранее. Мы попробовали, у нас получилось. Думаю теперь мы будем использовать Grails активнее.
Что меня привлекает в Grails? Как и в Spring - возможность задействовать уже готовые Java-библиотеки для всех случаев жизни. Конечно, пример использования KefirBB не очень нагляден, тем более что для пыха, например, есть xBB и еще много других парсеров. Тем не менее мне удалось интегрировать библиотеку которая, хоть и разрабатывается мной, не предназначалась для интеграции с Grails изначально.
Проблемы возникали с хостингом, найти вменяемый Java-хостинг не просто, пришлось арендовать виртуальный сервер. Здесь у пыха огромное преимущество, пока.
3 years ago
3 years ago
October 5 2008, 19:44:03 UTC 3 years ago
А ведь там под внешней оболочкой ещё и CMS скрывается…
Ruby? А зачем вы Ruby рядом с PHP поставили? :-) Ruby это хорошо. Java оказала на него некоторое влияние (как на OOA/D/P вообще), а сам Ruby оказал влияние на Groovy, на котором работает Grails. Но Java — отраслевой стандарт, а Ruby — пока нет. Начиная разработку на Grails мы учитывали возможность в случае непредвиденных проблем продолжить разработку на уровне Java. Конечно, JRuby тоже даёт такую возможность, но мы с ним в данный момент не работаем.
В чём преимущество для нас? Половину ответа выше, вторая половина в другой плоскости: имеющий крылья ползать не станет. Тот, кто умеет работать на Grails/Java, не станет писать сколь-нибудь серьёзный проект на PHP :-)
3 years ago
3 years ago
October 6 2008, 06:23:24 UTC 3 years ago
Отличная работа!
October 6 2008, 08:02:49 UTC 3 years ago
1. раньше это был другой сайт на другом хостинге, возможно Ваш провайдер еще не перестроился, хотя, пора бы уже.
2. Мы время от времени еще вносим изменения, но перезапуск у нас занимает пару минут максимум.
October 6 2008, 09:01:44 UTC 3 years ago
October 8 2008, 08:39:09 UTC 3 years ago
http://voituk.kiev.ua/2008/10/06/gr
October 8 2008, 12:43:39 UTC 3 years ago
Re: С успешным запуском Вас
немножко некрасивы у вас ссылки пейджинга:http://g2b.perm.ru/person/show/89?offse
October 8 2008, 15:03:33 UTC 3 years ago
Re: С успешным запуском Вас
Да ваче... :)October 10 2008, 21:46:08 UTC 3 years ago
October 11 2008, 08:10:19 UTC 3 years ago
December 16 2008, 20:47:46 UTC 3 years ago
Anonymous
October 27 2009, 17:31:09 UTC 2 years ago
Пробую свое детище вырастить по той же технологии но с примесью google-app-engine plugin. Подробности на 4customizer.com
Anonymous
June 19 2011, 12:06:34 UTC 11 months ago
Вопрос
А что за хостинг выбрали?June 19 2011, 12:14:42 UTC 11 months ago
Re: Вопрос
А я уж не помню. Сперва был какой-то VPS, потом в связи с другими проектами завели свой сервер.