В чем разница между Джетти и Нетти? - PullRequest
120 голосов
/ 22 марта 2011

В чем основное отличие Jetty от Netty?

Netty является частью Jboss, но является ли он контейнером веб-сервера по умолчанию?

Поддерживает ли Netty сервлеты 3.0?

Ответы [ 3 ]

179 голосов
/ 22 марта 2011

Jetty - это легкий контейнер сервлетов, который легко встраивать в Java-приложение, также имеется простой в использовании клиент Jetty.

Netty - асинхронныйоснованная на событиях инфраструктура сетевых приложений.Вы можете написать свой собственный контейнер сервлетов или клиентское приложение http, например, с помощью платформы Netty.

Редактировать:

Забыл упомянуть, что Jetty 8 и Apache Tomcat 7Поддержка Servlet 3.0 спецификации, но нетти нет.Потому что это не контейнер сервлетов.

36 голосов
/ 02 марта 2016

Я думаю, что со временем перекрытие увеличивается, так как оба проекта добавляют новые функции.

Вот эталонный тест: https://gist.github.com/dhanji/81ccc0e6652eccaf43cf

Jetty - это веб-сервер (HTTP), аналогичный Tomcat и тому подобное, но более легкий, чем большинство контейнеров сервлетов. Это ближе к традиционному Java-способу работы с серверными приложениями (сервлеты, файлы WAR). Как и Netty, он достаточно легок для встраивания в приложения Java.

Netty - это NIO клиент серверная структура, которая позволяет быстро и легко разработка сетевых приложений, таких как серверы протоколов и клиентов. Это значительно упрощает и оптимизирует сетевое программирование такие как сокет TCP и UDP сервер. Поэтому Netty сосредоточена на том, чтобы помогать писать NIO / неблокирующие, асинхронные сетевые программы.

Если вы много работаете с сетевыми протоколами и хотите, чтобы он был неблокирующим, используйте Netty (обычно для высокопроизводительных случаев). Если вы хотите легкий контейнер сервлетов HTTP, используйте Jetty.

0 голосов
/ 09 июля 2019

Это грубое упрощение, но оно позволяет легко понять разницу:

Netty - это среда для написания TCP приложений.

Jetty - это среда для написания HTTP приложений.

...