国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Netty和Tomcat的區(qū)別、性能對(duì)比

這篇具有很好參考價(jià)值的文章主要介紹了Netty和Tomcat的區(qū)別、性能對(duì)比。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、Netty和Tomcat有什么區(qū)別?

Netty和Tomcat最大的區(qū)別就在于通信協(xié)議,Tomcat是基于Http協(xié)議的,他的實(shí)質(zhì)是一個(gè)基于http協(xié)議的web容器,但是Netty不一樣,他能通過(guò)編程自定義各種協(xié)議,因?yàn)閚etty能夠通過(guò)codec自己來(lái)編碼/解碼字節(jié)流,完成類似redis訪問(wèn)的功能,這就是netty和tomcat最大的不同。

Netty和Tomcat的區(qū)別、性能對(duì)比

有人說(shuō)netty的性能就一定比tomcat性能高,其實(shí)不然,tomcat從6.x開(kāi)始就支持了nio模式,并且后續(xù)還有arp模式(一種通過(guò)JNI調(diào)用apache網(wǎng)絡(luò)庫(kù)的模式),相比于舊的bio模式,并發(fā)性能得到了很大提高,特別是arp模式,而netty是否比tomcat性能更高,則要取決于netty程序作者的技術(shù)實(shí)力了。

二、為什么Netty受歡迎?

netty是一款收到大公司青睞的框架,在我看來(lái),netty能夠受到青睞的原因有三:
并發(fā)高
傳輸快
封裝好

三、Netty為什么并發(fā)高 ?

Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)開(kāi)發(fā)的網(wǎng)絡(luò)通信框架,對(duì)比于BIO(Blocking I/O,阻塞IO),他的并發(fā)性能得到了很大提高。

NIO 2.0里終于有AIO了,Linux上用AIO,Windows上用IOCP,都支持了概念上的最后一種IOasynchronous I/O

就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)。
然后呢 不同的操作系統(tǒng)對(duì)上述模型支持不同: unix支持io多路復(fù)用,不同系統(tǒng)叫法不同 :freebsd里面叫 kqueue;linux 是epoll。而windows: 2000的時(shí)候就誕生了IOCP支持最后一種異步I/O
java是一種跨平臺(tái)語(yǔ)言,為了支持異步IO,誕生了nio,Java1.4引入的NIO 1.0是基于I/O復(fù)用的。在各個(gè)平臺(tái)上會(huì)選擇不同的復(fù)用方式。Linux用的epoll,BSD上用kqueue,Windows上應(yīng)該是重疊I/O(肯定不是IOCP)
但是nio直接使用比較難用,所以有了mina,netty這些針對(duì)網(wǎng)絡(luò)io部分(tcp/udp-傳輸層)的封裝(nio也有非網(wǎng)絡(luò)io部分),為了使nio更易用。
http是應(yīng)用層的協(xié)議。
servlet3.0則是另外一種東西,不是對(duì)協(xié)議的封裝,javaee6眾多規(guī)范中的一個(gè),但凡javaee6的實(shí)現(xiàn)(或者像tomcat這種web容器部分的實(shí)現(xiàn)),都會(huì)支持servlet3.0,servlet理論上可以支持多種應(yīng)用層協(xié)議(不單單只是http),而servlet3.0以后提供的異步特性與javase提供的nio或aio無(wú)直接關(guān)系,就是使用bio一樣可以實(shí)現(xiàn)servlet3.0中提供的異步特性。
異步只是一種概念,異步與否要看,上層使用的異步,而支持的下層完全可能是阻塞的。

tomcat就是針對(duì)http層的,所以我建議http還是選擇tomcat(或者其他成熟的http-server),并不是說(shuō)netty不好,而是你的選擇問(wèn)題。
netty是一個(gè)網(wǎng)絡(luò)組件,tcp,udp,http都可以弄,但是官方文檔都是些hello wolrd級(jí)別的。如果你非常了解http結(jié)構(gòu),完全可以基于netty搞出一個(gè)比tomcat牛的http server。如果做tcp開(kāi)發(fā),netty不二之選!

Netty和Tomcat的區(qū)別、性能對(duì)比

現(xiàn)在高并發(fā)分布式網(wǎng)站架構(gòu)一般采用nginx(前端負(fù)載均衡)+ Netty/Tomcat(HTTP)

Netty是基于Java NIO開(kāi)發(fā)的,而Tomcat是Apache下的針對(duì)HTTP的服務(wù)器項(xiàng)目,前者更像一個(gè)中間件框架,后者更像一個(gè)工具。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-463034.html

到了這里,關(guān)于Netty和Tomcat的區(qū)別、性能對(duì)比的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • redis事務(wù)對(duì)比Lua腳本區(qū)別是什么

    redis事務(wù)對(duì)比Lua腳本區(qū)別是什么

    redis官方對(duì)于lua腳本的解釋:Redis使用同一個(gè)Lua解釋器來(lái)執(zhí)行所有命令,同時(shí),Redis保證以一種原子性的方式來(lái)執(zhí)行腳本:當(dāng)lua腳本在執(zhí)行的時(shí)候,不會(huì)有其他腳本和命令同時(shí)執(zhí)行,這種語(yǔ)義類似于 MULTI/EXEC。從別的客戶端的視角來(lái)看,一個(gè)lua腳本要么不可見(jiàn),要么已經(jīng)執(zhí)行完

    2024年02月12日
    瀏覽(19)
  • Nginx與Tomcat的區(qū)別,什么是HTTP服務(wù)器(處理靜態(tài)資源的服務(wù)器),什么是處理動(dòng)態(tài)資源的服務(wù)器

    Nginx與Tomcat的區(qū)別,什么是HTTP服務(wù)器(處理靜態(tài)資源的服務(wù)器),什么是處理動(dòng)態(tài)資源的服務(wù)器

    Nginx和Tomcat都是常用的Web服務(wù)器,但它們的主要作用不同。 Nginx是一個(gè)HTTP服務(wù)器,反向代理服務(wù)器和通用TCP/UDP代理服務(wù)器。 它通常用于靜態(tài)內(nèi)容、媒體流和負(fù)載均衡。在高流量和高并發(fā)負(fù)載下,Nginx表現(xiàn)更出色,并且能夠輕松處理靜態(tài)文件、壓縮和SSL/TLS卸載等任務(wù),以減輕

    2024年02月14日
    瀏覽(27)
  • Tomcat與Netty比較

    Tomcat與Netty比較

    Tomcat是一個(gè)免費(fèi)的、開(kāi)放源代碼的Web應(yīng)用服務(wù)器,是Apache軟件基金會(huì)項(xiàng)目中的一個(gè)核心項(xiàng)目。它由Apache、Sun和其他一些公司及個(gè)人共同開(kāi)發(fā)而成,深受Java愛(ài)好者的喜愛(ài),是一款比較流行的Web應(yīng)用服務(wù)器。 Tomcat由一系列的組件構(gòu)成,其中核心的組件有三個(gè): web容器 :完成we

    2024年02月03日
    瀏覽(17)
  • Netty3 和Netty4區(qū)別

    Netty3 和Netty4區(qū)別

    Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive. happy for hardess to solve denpendies. Netty3 和Netty4區(qū)別 需求: 1.Netty3和Netty4區(qū)別 Netty3和Netty4區(qū)別: 2.demo Netty是一個(gè)基于NIO的高性能網(wǎng)絡(luò)框架,提供了TCP,UDP和

    2024年02月14日
    瀏覽(20)
  • Netty服務(wù)端開(kāi)發(fā)及性能優(yōu)化

    Netty服務(wù)端開(kāi)發(fā)及性能優(yōu)化

    作者:京東物流 王奕龍 Netty是一個(gè)異步基于 事件驅(qū)動(dòng) 的 高性能網(wǎng)絡(luò)通信 框架,可以看做是對(duì)NIO和BIO的封裝,并提供了簡(jiǎn)單易用的API、Handler和工具類等,用以快速開(kāi)發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)端和客戶端程序。 服務(wù)端啟動(dòng)需要?jiǎng)?chuàng)建? ServerBootstrap ?對(duì)象,并完成 初始化

    2024年02月02日
    瀏覽(16)
  • Netty和Websocket的區(qū)別

    Netty 和 WebSocket 沒(méi)有直接可比性,因?yàn)樗鼈冊(cè)诰W(wǎng)絡(luò)編程環(huán)境中具有不同的用途。 Netty: Netty 是一個(gè)高性能、事件驅(qū)動(dòng)的網(wǎng)絡(luò)框架,用于用 Java 構(gòu)建網(wǎng)絡(luò)應(yīng)用程序。 它提供了一組用于處理各種網(wǎng)絡(luò)協(xié)議(例如 TCP 和 UDP)的工具和抽象。 Netty 通常用于構(gòu)建需要低延遲、高吞吐量

    2024年01月22日
    瀏覽(21)
  • springBoot + netty搭建高性能 websocket 服務(wù) & 性能測(cè)試(包含python 測(cè)試腳本)

    springBoot + netty搭建高性能 websocket 服務(wù) & 性能測(cè)試(包含python 測(cè)試腳本)

    1、如果我們的app類似于股票這種,數(shù)據(jù)很多很快,之前用的tomcat自帶的 websocket 又或者 spring-boot-starter-websocke 集成,但是性能在數(shù)據(jù)并發(fā)很大時(shí)就會(huì)存在問(wèn)題。 2、我前面寫的一篇關(guān)于 springBoot+webosket的,沒(méi)有使用netty的文章 springBoot使用webSocket的幾種方式以及在高并發(fā)出現(xiàn)的

    2024年02月04日
    瀏覽(25)
  • [AIGC] 快速掌握Netty,打造高性能IM服務(wù)器!

    前言:Netty 是一個(gè)非常優(yōu)秀的網(wǎng)絡(luò)應(yīng)用程序框架,支持高并發(fā)、高性能的網(wǎng)絡(luò)通信,適用于開(kāi)發(fā)各種服務(wù)器程序,如即時(shí)通訊、游戲、物聯(lián)網(wǎng)等。使用 Netty 可以大大提升服務(wù)器程序的性能和可靠性。本文將介紹 Netty 的基本原理和使用方法,并給出一個(gè)簡(jiǎn)單的 IM 程序示例,幫

    2024年02月06日
    瀏覽(22)
  • Spring Boot與Netty:構(gòu)建高性能的網(wǎng)絡(luò)應(yīng)用

    Spring Boot與Netty:構(gòu)建高性能的網(wǎng)絡(luò)應(yīng)用

    點(diǎn)擊下載《Spring Boot與Netty:構(gòu)建高性能的網(wǎng)絡(luò)應(yīng)用》 本文將詳細(xì)探討如何在Spring Boot應(yīng)用中集成Netty,以構(gòu)建高性能的網(wǎng)絡(luò)應(yīng)用。我們將首先了解Netty的原理和優(yōu)勢(shì),然后介紹如何在Spring Boot項(xiàng)目中集成Netty,包括詳細(xì)的使用流程和步驟,以及帶有注釋的代碼示例。通過(guò)本文,

    2024年02月22日
    瀏覽(19)
  • Netty為什么高效,為什么這么受歡迎?

    Netty為什么高效,為什么這么受歡迎?

    上篇文章通過(guò) Java NIO 的處理流程與 Netty 的總體流程比較,并結(jié)合 Netty 的源碼,可以更加清晰地理解Netty。本文將結(jié)合源碼詳細(xì)解析Netty的高效和強(qiáng)大功能的設(shè)計(jì)原理,學(xué)習(xí) Netty 是如何實(shí)現(xiàn)其卓越的性能和功能特性,也希望可以在日后工作中利用到 Netty 的設(shè)計(jì)思想。 我們先看

    2024年02月12日
    瀏覽(41)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包