Вставьте запрос в очередь, попросите 3 машины прослушать очередь и дождаться результата. Если во время обработки произойдет сбой любого из них, запрос вернется в очередь и будет обработан одним из двух других. Наличие 3 систем, работающих одновременно по одному и тому же запросу, и «скачки» для достижения успеха звучат просто дико, чревато опасностью и сумасшествием.
Я имею в виду, что для авионики с системами голосования имеет смысл гарантировать, что реактивные лайнеры не будут самопроизвольно погружаться в море, но большинство систем на самом деле не несут такого бремени надежности. У них также, как правило, очень большие инженерные бюджеты.
Итак, я бы пошел с очередью JMS.
Addenda:
Очередь управляется кластером, затем EJB могут быть развернуты в своем собственном кластере (или просто независимые работники, они даже не должны быть EJB, они могут быть чем угодно). Все EJB подписаны на одну и ту же очередь. Каждый компонент принимает сообщение из очереди и запускается вместе с ним. Получение сообщения является транзакционным. Если по какой-либо причине происходит сбой EJB, сообщение снова становится доступным в очереди, готовое для другого EJB, чтобы принять его.
И JMS-очередь, и EJB-серверы являются избыточными, поэтому ни одна из них не является единственной точкой отказа.
Многие серверы EJB сегодня могут быть кластеризованы, поэтому достаточно просто настроить свой сервер в кластере и вызвать его. Ваш код клиента не изменится.
Если вас это не устраивает, то вместо удаленных вызовов EJB вы можете вместо этого переключиться на веб-службы и настроить серверы обработчиков служб (т.е. серверы EJB) с (кластеризованным) балансировщиком нагрузки на распределить трафик.
Ничто из этого не решает все проблемы, возникающие при резервировании одного стека с точки зрения совместного использования состояний, условий состязания, соответствия сеанса и т. Д. И т. Д.
Для этого не существует "простой" аннотации. Использование готовой кластеризации, специфичной для вашего контейнера, возможно, настолько близко, насколько вы собираетесь.