Sự khác biệt giữa Jetty và Netty là gì?


143

Sự khác biệt chính giữa Jetty và Netty là gì?

Netty là một phần của Jboss, nhưng nó có phải là bộ chứa máy chủ web mặc định không?

Netty có hỗ trợ Servlets 3.0 không?

Câu trả lời:


199

Cầu tàu là một thùng chứa servlet gọn nhẹ, dễ dàng nhúng vào ứng dụng java, cũng có một máy khách cầu cảng dễ sử dụng.

Netty là một khung ứng dụng mạng hướng sự kiện không đồng bộ. Bạn có thể viết thùng chứa servlet của riêng bạn hoặc ứng dụng khách http với sự trợ giúp của khung Netty chẳng hạn.

Biên tập:

Quên đề cập rằng Jetty 8 và Apache Tomcat 7 hỗ trợ đặc tả servlet 3.0, nhưng netty thì không. Bởi vì nó không phải là một thùng chứa servlet.


8
Cầu tàu cũng là một máy chủ http. nó bị bó lại. Cả Máy chủ http và Máy chủ ứng dụng / Bộ chứa Servlet
KyelJmD

6
Tôi vẫn không thấy mối quan hệ giữa hai người. Là Netty cho logic lớp vận chuyển trong khi cầu tàu là cho logic lớp ứng dụng?
Sridhar Sarnobat

15
@ Sridhar-Sarnobat Có, Netty dành cho tầng vận chuyển, trong khi cầu cảng dành riêng cho các ứng dụng hướng http. Với Netty, bạn có thể tối ưu hóa việc đóng khung thư của mình và mã hóa / giải mã rất chính xác, trong khi bạn bị mắc kẹt với HTTP với Jetty.
laughing_man

1
Điều này chỉ cung cấp cho các khẩu hiệu trên mỗi trang web.
swade

49

Tôi nghĩ theo thời gian sự chồng chéo tăng lên khi cả hai dự án thêm các tính năng mới.

Đây là một điểm chuẩn: https://gist.github.com/dhanji/81ccc0e6652eccaf43cf

Jetty là một máy chủ web (HTTP), tương tự như Tomcat và như vậy, nhưng nhẹ hơn hầu hết các thùng chứa servlet. Điều này gần hơn với cách Java truyền thống để làm các ứng dụng máy chủ (các tệp tin, tệp WAR). Giống như Netty, nó đủ nhẹ để được nhúng vào các ứng dụng Java.

Netty là một khung máy chủ máy khách NIO cho phép phát triển nhanh chóng và dễ dàng các ứng dụng mạng như máy chủ giao thức và máy khách. Nó đơn giản hóa rất nhiều và hợp lý hóa việc lập trình mạng như máy chủ ổ cắm TCP và UDP. Vì vậy, Netty đang tập trung vào việc giúp viết các chương trình mạng không đồng bộ, không đồng bộ NIO.

Nếu bạn xử lý nhiều giao thức mạng và muốn nó không bị chặn, hãy sử dụng Netty (thường cho các trường hợp hiệu năng cao). Nếu bạn muốn một thùng chứa HTTP servlet nhẹ, hãy sử dụng Jetty.


19

Đây là sự đơn giản hóa thô sơ, nhưng nó cho phép dễ dàng hiểu được sự khác biệt:

Netty là một khung để viết các ứng dụng TCP .

Cầu tàu là một khung để viết các ứng dụng HTTP .


2
Đủ sức.
Syed Đan Mạch Ali
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.