Apa perbedaan antara Jetty dan Netty?

143

Apa perbedaan utama antara Jetty dan Netty?

Netty adalah bagian dari Jboss, tetapi apakah itu wadah server web default?

Apakah Netty mendukung Servlets 3.0?

pengguna646584
sumber

Jawaban:

199

Jetty adalah wadah servlet yang ringan, mudah disematkan dalam aplikasi java, ada juga klien jetty yang mudah digunakan.

Netty adalah kerangka kerja aplikasi jaringan asynchronous event-driven. Anda dapat menulis wadah servlet Anda sendiri atau aplikasi klien http dengan bantuan kerangka kerja Netty misalnya.

Edit:

Lupa menyebutkan bahwa Jetty 8 dan Apache Tomcat 7 mendukung servlet 3.0 spec, tetapi netty tidak. Karena itu bukan wadah servlet.

moritz
sumber
8
Jetty juga merupakan Server Http. itu dibundel. Baik Http Server dan Application Server / Servlet Container
KyelJmD
6
Saya masih tidak melihat hubungan antara keduanya. Apakah Netty untuk transport layer logic sedangkan jetty adalah untuk application layer logic?
Sridhar Sarnobat
15
@ Sridhar-Sarnobat Ya, Netty untuk lapisan transport, sementara jetty khusus untuk aplikasi yang berorientasi pada http. Dengan Netty Anda dapat mengoptimalkan pembingkaian pesan Anda, dan menyandikan / mendekodekan dengan sangat tepat, sedangkan Anda terjebak dengan HTTP dengan Jetty.
laughing_man
1
Ini hanya memberi tagline pada setiap situs web.
bersandar
49

Saya pikir seiring berjalannya waktu tumpang tindih meningkat karena kedua proyek menambahkan fitur baru.

Berikut ini adalah patokan: https://gist.github.com/dhanji/81ccc0e6652eccaf43cf

Jetty adalah server web (HTTP), mirip dengan orang-orang seperti Tomcat dan semacamnya, tetapi lebih ringan daripada kebanyakan kontainer servlet. Ini lebih dekat dengan cara tradisional Jawa dalam melakukan aplikasi server (servlets, file WAR). Seperti Netty, cukup ringan untuk disematkan ke aplikasi Java.

Netty adalah kerangka kerja server klien NIO yang memungkinkan pengembangan aplikasi jaringan yang cepat dan mudah seperti server protokol dan klien. Ini sangat menyederhanakan dan merampingkan pemrograman jaringan seperti TCP dan server soket UDP. Jadi Netty berfokus pada membantu menulis program jaringan Nyn / non-blocking, asinkron.

Jika Anda banyak berurusan dengan protokol jaringan dan ingin non-pemblokiran, gunakan Netty (biasanya untuk kasus berperforma tinggi). Jika Anda ingin wadah HTTP servlet yang ringan gunakan Jetty.

Christophe Roussy
sumber
19

Ini adalah penyederhanaan, tetapi memungkinkan untuk memahami perbedaannya dengan mudah:

Netty adalah kerangka kerja untuk menulis aplikasi TCP .

Jetty adalah kerangka kerja untuk menulis aplikasi HTTP .

Rafis Ganeev
sumber
2
Cukup singkat.
Syed Danish Ali