nio和netty的區別?
就IO而言:概念上有5中模型:blocking I/O,nonblocking I/O,I/O multiplexing (select and poll),signal driven I/O (SIGIO),asynchronous I/O (the POSIX aio_functions)。
Tomcat就是針對http層的,所以我建議http還是選擇tomcat(或者其他成熟的http-server),并不是說netty不好,而是你的選擇問題。
netty是一個網絡組件,tcp,udp,http都可以弄,但是官方文檔都是些hello wolrd級別的。如果你非常了解http結構,完全可以基于netty搞出一個比tomcat牛的http server。如果做tcp開發,netty不二之選
Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)開發的網絡通信框架,對比于BIO(Blocking I/O,阻塞IO),他的并發性能得到了很大提高。所以Netty的并發高。
Netty和Tomcat最大的區別就在于通信協議,Tomcat是基于Http協議的,他的實質是一個基于http協議的web容器,但是Netty不一樣,他能通過編程自定義各種協議,因為netty能夠通過codec自己來編碼/解碼字節流,完成類似redis訪問的功能,這就是netty和tomcat最大的不同。Netty需要自己解碼完成握手等操作,Netty是一個網絡組件。Tomcat是web容器。