İskele ve Netty arasındaki fark nedir?


143

İskele ve Netty arasındaki temel fark nedir?

Netty Jboss'un bir parçasıdır, ancak varsayılan web sunucusu kapsayıcısı mıdır?

Netty Servlets 3.0'ı destekliyor mu?

Yanıtlar:


199

İskele hafif bir sunucu kabıdır, bir java uygulamasına gömülmesi kolaydır, ayrıca kullanımı kolay bir iskele istemcisi de vardır.

Netty , zaman uyumsuz bir olay odaklı ağ uygulama çerçevesidir. Örneğin Netty çerçevesinin yardımıyla kendi sunucu uygulaması kabınızı veya http istemci uygulamanızı yazabilirsiniz.

Düzenle:

Jetty 8 ve Apache Tomcat 7'nin servlet 3.0 spesifikasyonunu desteklediğini, ancak netty'nin desteklemediğini unutmayı unutmayın. Çünkü bu bir sunucu uygulaması kabı değil.


8
İskele aynı zamanda bir Http Sunucusudur. paketlenmiş. Hem Http Server hem de Application Server / Servlet Container
KyelJmD

6
Hala ikisi arasındaki ilişkiyi göremiyorum. İskele uygulama katmanı mantığı için Netty, taşıma katmanı mantığı için mi?
Sridhar Sarnobat

15
@ Sridhar-Sarnobat Evet, Netty taşıma katmanı içindir, iskelesi özellikle http odaklı uygulamalar içindir. Netty ile mesaj çerçevelemenizi ve kodlama / kod çözme işlemlerinizi çok hassas bir şekilde optimize edebilirsiniz.
laughing_man

1
Bu sadece her web sitesindeki sloganları verir.
swade

49

Her iki proje de yeni özellikler ekledikçe zamanla örtüşmenin arttığını düşünüyorum.

İşte bir kıyaslama: https://gist.github.com/dhanji/81ccc0e6652eccaf43cf

İskele , Tomcat ve benzerlerine benzer, ancak çoğu sunucu uygulaması konteynerinden daha hafif bir web sunucusudur (HTTP). Bu, sunucu uygulamalarını (sunucu uygulamaları, WAR dosyaları) geleneksel Java yöntemine daha yakındır. Netty gibi Java uygulamalarına gömülmek için yeterince hafiftir.

Netty , protokol sunucuları ve istemciler gibi ağ uygulamalarının hızlı ve kolay bir şekilde geliştirilmesini sağlayan bir NIO istemci sunucusu çerçevesidir. TCP ve UDP soket sunucusu gibi ağ programlamasını büyük ölçüde basitleştirir ve kolaylaştırır. Netty, NIO / engellemeyen, eşzamansız ağ programlarının yazılmasına yardımcı olmaya odaklanıyor.

Ağ protokolleri ile çok uğraşıyorsanız ve engellememesini istiyorsanız Netty kullanın (genellikle yüksek performanslı durumlar için). Hafif bir HTTP sunucu uygulaması kapsayıcısı istiyorsanız Jetty'yi kullanın.


19

Bu kaba basitleştirmedir, ancak farkı kolayca anlamaya izin verir:

Netty , TCP uygulamaları yazmak için bir çerçevedir .

İskele , HTTP uygulamaları yazmak için bir çerçevedir .


2
Yeterince özlü.
Syed Danish Ali
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.