Avatar
1
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
tại sao Spring không sử dụng Netty mà dùng tomcat làm default
Anh ơi, vì sao Spring hay các framework khác k dùng Netty mà dùng tomcat làm default ạ. Có thể thấy Netty có thể handle một lượng lớn request mà không chết do Non blocking IO ạ
  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Professional
tvd12 Professional
  1. Bản thân Netty là 1 thư viện socket I/O, nó hướng nhiều đến raw TCP, UDP và Websocket nhiều hơn là hướng đến 1 HTTP Server thuần tuý
  2. Không chỉ riêng Netty mà Tomcat, hay Jetty cũng đều có thể xử lý Non Blocking I/O được hết
  3. Ngày đầu mới ra đời, thì spring chưa có spring-boot như bây giờ. Nó chỉ đơn giản là 1 thư viện giúp quản lý bean và sử dụng jackson, hay jaxb để serialize, deserialize dữ liệu mà thôi. Ở thời điểm đó thì kiến trúc webapp của tomcat và jetty rất là mạnh, trong khi netty chỉ đơn thuần là 1 thư viện xử lý I/O mà thôi, thế nên không lựa chọn netty là dễ hiểu.
  4. Các thư viện như tomcat, hay jetty nó không chỉ có mỗi chức năng I/O HTTP thôi đâu, nó còn có các thư viện để code giao diện với jsp, velocity hay freemaker về sau này là thymeleaf, trong khi netty thì không hướng đến mục tiêu này.
  5. Về sau này tomcat hay jetty cũng đã cho ra mắt các embedded server, và lúc đó spring-boot cũng ra đời, thế nên netty càng không có cửa.
  • 0
  • Reply