|
|
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Приветсвую всех. Нужно спроектировать 3х-звенное приложение (java ee), логика на java, и, пусть для примера сервисов будет 2: Foo и Bar. Что есть "сервис" - web-service, ejb, spring bean или иной java class - вопрос открытый. Приложение работает в кластере из 8 серверов приложений. Число 8, опять же, для примера - т.к. приложения еще нет :) И теперь, самое интересное - требуется управлять доступными ресурсами для каждого сервиса в отдельности. Например сегодня мы хотим чтобы оба сервиса работали на всех 8 нодах, а завтра - пусть сервис Foo работает не более, чем на 2 нодах, а Bar - на 6 других (как вариант Foo - только на 2 из 8, Bar на всех 8). Какие подходы вы использовали, если делали что-то подобное? Прошу советов, идей (свои тоже есть), ссылок на статьи - готового решения не ищу. Приложение должно работать на сервере приложений (ориентировочно weblogic), использование ejb не принципиально. Если что, то идея такого управления нагрузкой исходит от заказчика, ее можно немного изменять. -- Солнце встанет непременно! jabber id: marx [.at.] jabber [.dot.] ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 22:40:45 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
marx_freedomНужно спроектировать 3х-звенное приложение (java ee), логика на java, и, пусть для примера сервисов будет 2: Foo и Bar. Что есть "сервис" - web-service, ejb, spring bean или иной java class - вопрос открытый. Приложение работает в кластере из 8 серверов приложений. Число 8, опять же, для примера - т.к. приложения еще нет :) И теперь, самое интересное - требуется управлять доступными ресурсами для каждого сервиса в отдельности. Например сегодня мы хотим чтобы оба сервиса работали на всех 8 нодах, а завтра - пусть сервис Foo работает не более, чем на 2 нодах, а Bar - на 6 других (как вариант Foo - только на 2 из 8, Bar на всех 8). Та вроде никакого криминала. Деплоим разные JEE модули на все ноды. Не нужные останавливаем. Главное чтобы loadbalancer нормально отрабатывал остановки. marx_freedomКакие подходы вы использовали, если делали что-то подобное? Прошу советов, идей (свои тоже есть), ссылок на статьи - готового решения не ищу. Гугл-> java load balancer heterogeneous cluster java Статей много. Причем довольно толковых. marx_freedomПриложение должно работать на сервере приложений (ориентировочно weblogic), использование ejb не принципиально. Если что, то идея такого управления нагрузкой исходит от заказчика, ее можно немного изменять. Если вероятность использования WL высокая, то я бы рекомендовал для начала проштудировать его манулы по вопросам кластеризации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 23:11:54 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТа вроде никакого криминала. Деплоим разные JEE модули на все ноды. Не нужные останавливаем. Главное чтобы loadbalancer нормально отрабатывал остановки. C приложениями на кластере я много раз имел дело, но они почти все были монолитными (один EAR с кучей всего внутри), поэтому про вариант тоже подумал "Не нужные останавливаем" и начал читать документацию :) Я специально написал, что не принципиально spring/ejb/pojo - вдруг есть какая-то интересная библиотека/фреймворк/технология которая может помочь или хотя бы даст возможность посмотреть на задачу с другой стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 00:08:39 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
marx_freedom, www.jelastic.com :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 14:37:26 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Алексей1987, к облакам российские заказчики холодно относятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2012, 02:51:42 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Я бы написал что-то типа балансировщика нагрузки через JNDI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2012, 12:23:07 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Kachalov, а можно чуть подробнее про идею? Сервлет (например, хотя это основные клиенты для ejb будут) вместо получения бина через инъекцию (@EJB) обращается к самописному балансировщику, которой уже выбирает ноду и делает с нее jndi lookup? Если кому-то интересно - я дошел до тестов от чтения доки, и на wl 12c не получается выключить java-ee модуль на определенных нодах, паковал уже и в ear и отдельными ejb-jar'ами деплоил. Можно деплоить только модуль не на весь кластер, но это криво (вдруг нода отвалится, плюс дока предупреждает о jndi конфликтах и прочем). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2012, 15:28:09 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Все равно эти сервисы будут долбиться в базу - следовательно узким местом будет база. Тогда совершенно неважно, как раскидывать их по узлам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2012, 16:43:18 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
идея такого управления нагрузкой исходит от заказчика Когда писал предыдущее сообщение, не прочитал эту фразу. Надо сделать как можно более тяжеловесную и идиотскую систему "балансировки" - главное чтобы заказчик был доволен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2012, 16:46:20 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
аффтар! KachalovЯ бы написал что-то типа балансировщика нагрузки через JNDI я не понял. Горизонтальное масштабирование - основная фишка Java. В чём тут проблема? В тупом заказчике или кривой фишке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2012, 16:54:49 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪВсе равно эти сервисы будут долбиться в базу - следовательно узким местом будет база. Тогда совершенно неважно, как раскидывать их по узлам. И такое бывает, не спорю. Но есть основания полагать, что чем занять апп сервер - найдется. Излишне навороченную или идиотскую систему делать не хочется, поэтому любым советам все еще рад :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2012, 16:57:03 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Но есть основания полагать, что чем занять апп сервер - найдется. Согласен. Можно, например, биткоины вычислять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2012, 17:32:09 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
marx_freedomа можно чуть подробнее про идею? Сервлет (например, хотя это основные клиенты для ejb будут) вместо получения бина через инъекцию (@EJB) обращается к самописному балансировщику, которой уже выбирает ноду и делает с нее jndi lookup?. - да, как-то так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Йуный джавистЪВсе равно эти сервисы будут долбиться в базу - следовательно узким местом будет база. Тогда совершенно неважно, как раскидывать их по узлам. - неизвестно как работает приложение о котором идет речь, но если действительно основной акцент не на обработке данных, а на операциях типа CRUD, то все равно ORM является объектным кэшем и, в зависимости от того как часто производится синхронизация с базой, обычно снижает нагрузку на нее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2012, 12:53:40 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Petro123Горизонтальное масштабирование - основная фишка Java. В чём тут проблема? В тупом заказчике или кривой фишке? - балансировка нагрузки - это небесплатная вещь, а платить за готовый балансировщик не все готовы. Кроме того иногда есть желание самому определять логику балансировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2012, 12:56:03 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Kachalov, в том то и дело, что "иногда самому". Непонятно почему бесплатных нет. Если я буду писать сам MVC-JSP-мппингУрл вы первый скажете - велосипед - есть спринг. И это будет справедливо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2012, 13:04:34 |
|
||
|
Балансировка нагрузки в приложении
|
|||
|---|---|---|---|
|
#18+
Petro123Непонятно почему бесплатных нет. - во всяком случае я не видел ;) если что-то знаете, шлите ссылки, общественность будет рада - задачи в которых требуется балансировка подразумевают проекты с уровнем отличным от начального, в связи с чем понятно желание разработчиков софта, заработать Petro123Если я буду писать сам MVC-JSP-мппингУрл вы первый скажете - велосипед - есть спринг. И это будет справедливо. - лично я Spring не использую ни в каком виде ;) У меня есть собственный MVC web-движок с DI который нормально инжектирует EJB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2012, 13:37:25 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=303&tid=2132327]: |
0ms |
get settings: |
18ms |
get forum list: |
23ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
48ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 357ms |
| total: | 539ms |

| 0 / 0 |
