Масштабируемое и высокопроизводительное решение Java EE? - PullRequest
1 голос
/ 20 апреля 2011

Предположим, мы хотим спроектировать систему веб-приложений Java EE, которая, как ожидается, продемонстрирует высокую производительность и эффективность в ответах, поскольку слишком много пользователей могут отправлять запросы в службы.

Я думаю о развертывании экземпляров приложений на разных серверах приложений (JBoss, Tomcat и т. Д.). Итак, у нас есть понятие «кластер серверов приложений». И это приложение требует обработки некоторых данных на разных движках, которые снова устанавливаются на разных серверах.

Таким образом, у нас также есть понятие «кластер серверов движков». И предположим, что мы должны получить доступ к приложению из одной точки, например, с простого URL. Как связать этот URL с кластером серверов приложений? Какие стратегии должны быть реализованы для разработки такой системы, состоящей из серверов приложений и некоторых других серверов, которые необходимы для максимально эффективной связи?

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

1 Ответ

1 голос
/ 20 апреля 2011

Чтобы ответить (на некоторые) ваши вопросы:

  • Как связать этот URL с кластером серверов приложений? Используйте балансировщик нагрузки перед вашими веб-серверами - желательно использовать аппаратный (быстрее), но в противном случае вы можете создать его с обычным товаром ПК / оборудование (например, haproxy)
  • Какие стратегии должны быть реализованы для разработки такой системы, состоящей из серверов приложений и некоторых других серверов, которые необходимы для максимально эффективной связи? В зависимости от типа данных, которыми вы обмениваетесь, и как , Если вам не нужны синхронные вызовы, то вы можете посмотреть на обмен сообщениями - JMS, ActiveMQ или RabbitMQ; поэтому отправьте сообщение на внутренние серверы и попросите другой поток, ожидающий ответов, когда ответ придет, заберите его и отправьте. Если вам нужна синхронная связь, есть много вариантов - от простой связи на основе сокетов до RMI, SOAP и т. Д. Стоит учитывать объем данных, которыми обмениваются эти два уровня.
...