Какая библиотека NIO (Netty, Grizzly, kryonet, ...) для простой реализации внутреннего сервера в Java? - PullRequest
22 голосов
/ 25 ноября 2011

Наш интерфейс - простой сервер Jetty (может быть позже заменен на Tomcat).С помощью сервлетов мы предоставляем общедоступный HTTP-API (более или менее RESTful), чтобы показать функциональность нашего продукта.

В серверной части у нас есть процесс Java, который выполняет несколько видов задач обслуживания.В то время как бэкэнд-процесс обычно выполняет свои задачи, когда это время, время от времени веб-интерфейсу нужно пробуждать бэкэнд-сервер для выполнения определенной задачи в фоновом режиме.для этой задачи?Я нашел Нетти, Гризли, Крионет и РМИ.На данный момент я склонен сказать, что Netty кажется простым в использовании и, вероятно, очень надежным.

Есть ли у кого-нибудь из вас опыт такого рода установок?Каким будет ваш выбор?

спасибо!

Ответы [ 4 ]

17 голосов
/ 25 ноября 2011

Попробуйте перевести этот документ, который отвечает на ваш вопрос.http://blog.xebia.fr/2011/11/09/java-nio-et-framework-web-haute-performance/

Это общество, будучи французскими известными экспертами по Java EE, провело большое количество серверов NIO в контексте французского конкурса, спонсируемого VmWare (USI2011).Речь шла о создании простого приложения для викторин, способного справиться с нагрузкой в ​​1 миллион подключенных пользователей.

Они выиграли эту задачу с отличными результатами.Их реализация была Netty + Gemfire, и они только заменили CachedThreadPool на MemoryAwareThreadPool.

Netty, кажется, предлагает отличные характеристики и хорошо задокументирована.

Они также рассматривали Deft, вдохновленный Tornado (python/ facebook) но для них это все еще немного незрело

Редактировать: вот переведенная ссылка предоставленная в комментариях

4 голосов
/ 26 ноября 2011

Мои предпочтения Нетти.Это просто, но гибко.Очень быстро и сообщество вокруг Нетти просто потрясающее.

3 голосов
/ 07 июля 2015

Компания, в которой я работаю, в настоящее время оценивает CoralReactor .Это коммерческое программное обеспечение, но у него самый простой API, который я когда-либо видел для Java NIO.Мое личное мнение состоит в том, что Netty делает вещи слишком сложными, особенно если вы хотите избавиться от мусора и однопоточности, что является требованием для многих компаний из финансовой, рекламной и игровой индустрии.

2 голосов
/ 25 ноября 2011

Я бы отделил их с помощью JMS, просто есть несколько (набор) очередей управления, которые ваш сервер сидит там и слушает, и все готово.Нет необходимости писать пользовательский интерфейс nio api здесь.

Одним из примеров провайдера является hornetq.Это также может быть запущено как внутрипроцессный JMS-брокер, он использует Netty под прикрытием.

...