Netty是一個高性能異步IO通信框架,封裝了NIO,對各種bug做了很好的優(yōu)化解決。所以很多中間件底層的通信都會使用Netty,比如說:Dubbo3,rocketmq,ElasticSearch等。
比方說,我們使用dubbo作為rpc跨進程遠程通信,其實底層使用的還是Netty客戶端與服務(wù)端的交互。我們封裝好dubbo,然后把jar分別引入到consumer和provider,這時consumer和provider二者相當于都具有了dubbo的源碼,dubbo肯定是同時具有Netty編寫的Server端和Client端的,那么consumer和provider其實都可以作為服務(wù)消費者或服務(wù)生產(chǎn)者。如果在一個時刻,此時consumer作為client端去鏈接遠端主機ip為xxx,port為xxx的provider,此時provider作為Server端等待監(jiān)聽bind port為xxx,其實就可以處理遠程鏈接過來的consumer請求。然后返回最終結(jié)果給Client端,即交給consumer。
反之亦然。文章來源:http://www.zghlxwxcb.cn/news/detail-726414.html
底層由Netty作為網(wǎng)絡(luò)通信基礎(chǔ)。Netty可定制化,協(xié)議可定制,序列化方式可在java層面指定,dubbo3也做了很好的封裝。文章來源地址http://www.zghlxwxcb.cn/news/detail-726414.html
到了這里,關(guān)于Netty通信在中間件組件中的廣泛使用-Dubbo3舉例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!