Архитектура сервиса

Sep 23, 2010 12:24

Добрый день.

Есть приложение, написанное с использованием spring + hibernate. Это приложение - CMS для ведения блога, по примеру wordpress - есть часть для администрирования, есть сам блог и тому подобное. На машинах разработчиков приложение работает без проблем. Однако, теперь требуется предоставить любому желающему завести свой блог после ( Read more... )

spring, hibernate, java

Leave a comment

Comments 98

stealth_nsk September 23 2010, 08:31:13 UTC
А в чем проблема? Каждый подсайт рассматриваете как участок сайта. Делаете специальные права владельцам сайтов, чтобы они работали только над своим участком и т.д. Т.е. одна база, одно приложение.

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

Reply

errorrishe September 23 2010, 08:57:05 UTC
именно.
апликейшен на пользователя - ну оооочень жирно

Reply

m_a_m_o_n September 23 2010, 09:03:34 UTC
+1
Java приложение требует оперативной памяти на экземпляр,
в отличии от того же PHP в котором на экземпляр требуется
только дисковая память. С учётом того что вы используете
Hibernate думаю вы упрётесь в потолок по количетсву
пользователей очень быстро.

Reply

errorrishe September 23 2010, 09:14:31 UTC
да дело даже не в хибернейте. просто инстанс приложения уже жрет метров 150 небось. понадобиться ну очень много серверов

Reply


kosiakk September 23 2010, 08:35:54 UTC
да, это было совсем-совсем неправильное решение.

Почитайте про Multitenancy. Например, в Google AppEngine.

Напрямую взять, конечно, ничего не получится, но хоть подход.
У вас наверно ещё и БД на каждого пользователя отдельная создаётся? :-)

Reply

sedovmik September 23 2010, 08:45:21 UTC
спасибо, отличная ссылка!

БД - да, одна на пользователя. По началу казалось 10-20 пользователей - максимум что нам потребудется и в этих условиях это было терпимо.

Reply

errorrishe September 23 2010, 09:01:49 UTC
ппц такое можно коментировать уже только матом
у вас первый проект? :)

Reply

big_hedgehog September 23 2010, 09:08:52 UTC
Такого плана первый.

Reply


aalleexxeeii September 23 2010, 08:46:26 UTC
Вот потому-то PHP и рвёт нашего брата, позволяя технически масштабировать даже такие архитектурно неудачные решения.

Reply

m_a_m_o_n September 23 2010, 09:04:41 UTC
То что вы говорить совсем не правда.

Reply

m_a_m_o_n September 23 2010, 09:04:48 UTC
*те

Reply

aalleexxeeii September 23 2010, 12:54:32 UTC
Я считаю, что основной причиной распространённости PHP является неприхотливость хостинга. Подозреваю, что архитектура, описанная автором, навеяна именно традиционными для PHP одно-инстансными движками для форумов, блогов, вики, CMS. И ведь там, что обидно, всё это шустро крутится и беспроблемно изолируется по песочницам, чего не скажешь о Java.

Reply


errorrishe September 23 2010, 08:54:34 UTC
у вас радикально неправильная архитектура. девелоперов можно топить в сортире уже сейчас.

Reply

sedovmik September 23 2010, 09:07:03 UTC
хотя бы намекните как выглядит правильная

Reply

errorrishe September 23 2010, 09:10:40 UTC
издеваетесь ?:) правильная уже зависит от задач
но это выглядит катострофически не масштабируемой

Reply

sedovmik September 23 2010, 09:17:39 UTC
задача описана вроде. не хватает данных?
пользователей заводящих свой блог - около 50-100. блоги между собой никак не взаимодействуют. Посетителей, одновременно просматривающих "блог" - пусть не много, ок. 10.

и решение выглядит как раз очень масштабируемым. 10 приложений - новый сервер, купил, установил и всё работает, 1 строчка в конфигурации. Вопрос цены этой масштабируемости. Вот она уже "катастрофическая".

Reply


slonik_v_domene September 23 2010, 10:13:42 UTC
>В данный момент приложение написано таким образом, что действия выше достигаются путём деплоя новой копии приложения в webapp с другими параметрами в properties. Итого 5 пользователей - 5 приложений.

В чем проблема? - В том, что ваша архитектура нерабочая.

Что делать? - Выкинуть и написать с нуля мультипользовательский сервис.

Где искать вдохновение? - В исходниках неправославного WordPress, например.

Reply


Leave a comment

Up