Я записал сервер с высокой пропускной способностью, который обрабатывает каждый запрос в его собственном потоке. Поскольку запросы, прибывающие в него, иногда необходимо, чтобы сделать RPCs к одному или нескольким бэкендам. Они бэкенд, RPCs обрабатываются отдельной очередью и пулом потоков, который обеспечивает некоторое ограничение на количестве созданных потоков и максимальное количество соединений с бэкендом (это делает некоторое кэширование, чтобы снова использовать клиенты и сохранить издержки постоянного создания соединений). Сделав все это, тем не менее, я начинаю думать, основанная на событии архитектура была бы более эффективной.
В поиске вокруг я не нашел эквивалентов libevent для Java, но возможно я не смотрю в правильном месте? Mina-statemachine от Apache была самой близкой вещью, которую я нашел, но это выглядит более подробным, чем мне нужно и нет никакого реального доступного выпуска.
Какие-либо предложения?
Как насчет облегченной системы событий ? :) http://www.lwes.org/ и http://sourceforge.net/projects/lwes/files/
Кажется, ответ будет «нет», хотя похоже, что библиотека Ruby EventMachine предоставляет реализацию Java для пользователей JRuby, которую можно было бы использовать или, по крайней мере, послужить вдохновением для написания моего собственного: { {1}} http://github.com/eventmachine/eventmachine/tree/master/java/
Возможно, вы ищете механизм рабочего процесса, например. JBPM или любой другой инструмент с открытым исходным кодом, перечисленный здесь.