Я планирую писать RPC-сервер в Java. Сервер должен принимать входящие RPC - возможно, через HTTP - и отвечать на них. Достаточно простой материал. Поддержка «длинных опросов» или «зависаний» RPC не требуется, поэтому модель с потоком за запрос должна быть абсолютно адекватной.Framework для сервера RPC Java
Если бы я писал это на Python, я бы, вероятно, использовал фреймворк, подобный скрученному. В C что-то вроде glibc. В каждом случае структура обеспечивает реализацию основного ядра «выбора цикла» обработки IO и вызова конструкций более высокого уровня, которые его обрабатывают, что в конечном итоге приводит к тому, что мое приложение вызывается для таких событий, как получение RPC.
Давно не было написано ничего существенного на Java, поэтому я не знаю, что такое современное состояние или предлагаемые решения для такого рода вещей. Возможно, есть даже части стандартной библиотеки, которую я могу легко использовать для этого. Поэтому мой вопрос к StackOverflow: какие рамки существуют там, которые подходят для такой задачи?
Обратите внимание, что хотя я могу использовать HTTP для RPC, это не является веб-приложением, и поэтому веб-инфраструктура не подходит.
Это выглядит отлично. Я буду отмечать это как «ответ», если кто-то придумает что-то еще лучше. ;) –
Один вопрос: HTTP-пример, который они предоставляют, реализует сам протокол HTTP, и API, похоже, содержит поддержку проксирования HTTP. Вы знаете, есть ли встроенная или хорошо используемая библиотека MINA для обработки HTTP-запросов? –
@Arachnid AsyncWeb (http://mina.apache.org/asyncweb/) - это уровень HTTP, построенный поверх MINA. Хотя, если вы действительно используете этот протокол RPC через HTTP-запросы, вам может быть лучше просто написать сервлет и разместить его в любом из контейнеров веб-приложений. –