Как проектировать приложения без балансировки нагрузки EJB? - PullRequest
1 голос
/ 29 июня 2010

У меня есть класс Java Processor, который слушает тему jms, и он изо всех сил старается не отставать от скорости, с которой приходят сообщения, поэтому мы решили пойти параллельно:

ОдинКласс, слушающий тему, задача которой состоит в том, чтобы передавать сообщения в пул рабочих потоков, фактически являясь балансировщиком нагрузки.Это также должно помешать двум работникам обрабатывать сообщения для одного и того же клиента.

Я ожидал, что в Интернете будет достаточно информации об этом, но все, похоже, предполагает использование EJB, где сервер приложений управляет сервером.пул и делает балансировку.Я уверен, что это должно быть действительно распространенной проблемой, но не могу найти какие-либо библиотеки или шаблоны проектирования, чтобы помочь.Я делаю из этого больше, чем есть, и должен просто углубиться и написать свой собственный код?

Ответы [ 2 ]

1 голос
/ 29 июня 2010

Почему бы вам просто не использовать очередь вместо темы и иметь несколько экземпляров одного и того же приложения для обработки сообщений из этой очереди?

0 голосов
/ 29 июня 2010

Эту проблему легко решить с помощью группы слушателей.Это то, что сервер приложений будет делать для вас.

Я бы получил хороший сервер приложений и использовал бы его MDB для быстрого решения этой проблемы.Увеличьте размер пула, и вы будете в порядке.

Если вы настаиваете на написании собственного кода, получите хорошую реализацию пула с открытым исходным кодом и используйте ее.

Если это не EJB, рассмотрим Spring.В нем есть POJO, управляемые сообщениями, которые могут быть именно тем, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...