У меня есть корпоративное приложение, в котором ежедневно работает около 2 тысяч одновременных пользователей. Эти пользователи обрабатывают звонки клиентов, поэтому скорость приложений имеет жизненно важное значение.
Когда пользователь завершает разговор, он фиксирует всю полученную информацию. Эта фиксация может занять от 10 до 45 секунд.
Я ищу способы убрать задержку от пользователя.
У нас есть веб-интерфейс, работающий в I.E. серверная часть представляет собой тяжелую Java, работающую на одном EJB.
Я хотел сделать этот процесс фиксации асинхронным в том смысле, что после того, как пользователь отправляет запрос, ему не нужно ждать завершения фиксации, прежде чем перейти к следующему клиенту. Это то, что сейчас реализовано.
Первоначально я думал просто создать еще один поток для обработки фиксации, но с EJB это не так.
Другие варианты, которые я могу придумать, это использование JMS или SIB,
Каким было бы лучшее решение? Есть ли другая альтернатива, которую мне не хватает?