2016-02-03 3 views
0

Я должен работать над 3 различными приложениями вместо большого. Мой вопрос: «Может ли JMS использоваться для связи между разными серверами (wildfly)»?Способ связи между серверным сервером?

Таким образом, мы можем добавить больше серверов для второго приложения, если увидим, что слишком много времени для обработки. Вот простой пример с 15 серверами. 5 для первого приложения, которое берет данные и что-то делает с ними. 5 для второго приложения, которое вычисляет что-то, а затем - последнему приложению, которое их форматирует и хранит во второй БД.

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

Может быть, некоторые другие предложения, как построить что-то подобное?

Благодаря

enter image description here

ответ

1

Это довольно стандартный обмен сообщениями.

Возможно, это зависит от вашего сервера JMS, но если вы фактически используете очереди, каждый сервер должен иметь возможность потреблять индивидуально и обрабатывать сообщение.

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

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

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

+0

Благодарим за информацию. Да, каждый сервер будет без гражданства, и каждое сообщение может обрабатываться в одиночку. Для транзакции я думал о DLQ на сервере JMS. Поэтому я смог бы исправить аппликацию, а затем перенести из DLQ в нормальный Q. – kinaesthesia

Смежные вопросы