Обмен данными между серверами Java EE

Какие продукты / проекты могут помочь мне в следующем сценарии?

  • Более одного сервера (в одном месте)
  • Некоторое состояние должно быть общим для сервера (например, информация о том, выполняется ли запланированная задача и на каком сервере).

Очевидным ответом, конечно, могут быть базы данных, но мы используем Seam, и, похоже, нет хорошего способа вложить транзакции в Beam-компонент, поэтому мне нужно найти способ, где мне не нужно сходить с ума по конфигурации (пытался использовать EJB:s, но потом файл persistence.xml не был хорош). Поэтому мне нужно по-другому обойти эту проблему, пока Seam не поддержит вложенные транзакции.

Это в основном тот же сценарий, что и у меня, если вам нужно больше подробностей: https://community.jboss.org/thread/182126.

Есть идеи?

1 ответ

Решение

Похоже, вам нужно распределенное управление заданиями.

Реальность такова, что в мире Java EE вам в конечном итоге придется делать очереди, как в MoM [промежуточное программное обеспечение, ориентированное на сообщения]. Seam будет работать с JMS, и вы можете публиковать и подписывать очереди.

Где вы можете найти альтернативу в Akka. Это дает вам возможность распределять задания между машинами, используя прозрачную модель Actor/Agent. То есть ваши агенты могут сотрудничать друг с другом, независимо от того, находятся ли они в одном и том же экземпляре или по сети друг от друга, и вы не пишете тонны кода, чтобы это произошло, или вам не нужно специально обрабатывать вещи вверх и вниз по сообщению. цепь.

Еще одна вещь, которую Акка использует для этого, - это понятие "Надзор", иначе говоря, "Вперед и неудача", или "Пусть это потерпит крах". Это идея (за которой телекоммуникационные компании годами следуют), что системы будут выходить из строя, и вы должны разрабатывать их и иметь средства для обеспечения устойчивости.

Наконец, состояние других вариантов работы в мире Java мрачно. Использовали шов в течение многих лет. Это здорово, но они решили просто поддержать Quartz для работы, что бесполезно.

Akka также построен на Netty, который делает довольно сумасшедшие вещи с точки зрения параллелизма и производительности.

[Не сотрудник TypeSafe, кстати...]

Другие вопросы по тегам