tomcat源碼為什麼不採用netty處理並發?
08-12
因為servlet規範,tomcat要實現servlet規範所以不能最大發揮NIO的特性,servlet3.0之前完全是同步阻塞模型,在read http body 以及 response的情況下,即使tomcat選擇 NIO的 connector也是模擬阻塞的行為,因為servlet規範規定的就是這樣。
netty不用遵循servlet規範,可以最大化發揮NIO的特性,性能更高一些。但對於多數業務來講tomcat的connector已經足夠了。
希望上面的回答對你有所幫助,如果還是不懂或者有問題,可以關注今日頭條「小熊社長」頭條號,私信我。希望能夠對樓主有所幫助。如果喜歡請轉發。
tomcat用的是Apache的MINA網路庫,可以說是第一代Java網路庫,並且也支持NIO了。既然都有了這些庫了,功能也不差,為什麼不繼續開發MINA的功能,反而自廢武功,去換成Netty呢?
推薦閱讀:
※驍龍845+衛星通話,最強戶外三防手機AGM X3極客版面世
※數碼燙金機技術發展情況
※哪個投屏軟體好用
※榮耀手機最全的手勢操作,你們用過幾個?
※科技新聞,看的是八卦,還是科技?
