Многоадресное (или подобное) решение, необходимое для tomcat / servlet. - PullRequest
1 голос
/ 29 марта 2012

Я работаю над приложением, которое предлагается представить в виде набора веб-приложений (называемых агентом), работающих на tomcat 7, настроенных на разных узлах.Мне было поручено, чтобы эти веб-приложения (агент) автоматически обнаруживали друг друга.Идея состоит в том, что каждое веб-приложение (скажем, агент X), когда оно будет запущено, будет передавать «шаблон запроса» всем другим веб-приложениям.Другие веб-приложения (скажем, агенты A, B, C), в свою очередь, будут хранить эту информацию («шаблон запроса») и будут использовать ее для направления любого соответствующего запроса агенту X с помощью вызова http.Я ищу какой-то вариант, когда в каждом веб-приложении будет какой-то компонент, прослушивающий определенный порт, и агент X при регистрации сам отправит многоадресный запрос всем узлам на этом конкретном порту.
Я думаю, что Apache Camel может быть полезенздесь .. но я не уверен.Было бы здорово, если бы какой-то орган мог сказать техническую жизнеспособность этого подхода или любые другие предложения.

Ответы [ 2 ]

0 голосов
/ 22 апреля 2012

Это скорее сообщение, чем проблема маршрутизации.Добавьте Camel, если вам нужна сложная маршрутизация или адаптация к устаревшим протоколам.

Это похоже на классический вариант использования публикации и подписки.Вы можете сделать это с помощью любой технологии обмена сообщениями.Посмотрите на JMS - ActiveMQ - это то, что использует Camel, или AMQP - я очень успешно использовал RabbitMQ для этого, оба используют для этого парадигму "topic", быстрый поиск нашел это в качестве примера: http://jmsexample.zcage.com/index2.html. Или Jabber.

Джулиан

0 голосов
/ 29 марта 2012

Моей первой мыслью было, что вы можете использовать apache httpd и mod_proxy_loadbalancer для балансировки всех запросов по доступным узлам.Вы можете определить различные балансировщики для любого вида агентов.Запросы будут отправлены на балансировщик, и балансировщик направит его на любой доступный узел.

...