Netty通信在中间件组件中的广泛使用-Dubbo3举例

Netty是一个高性能异步IO通信框架,封装了NIO,对各种bug做了很好的优化解决。所以很多中间件底层的通信都会使用Netty,比如说:Dubbo3,rocketmq,ElasticSearch等。

比方说,我们使用dubbo作为rpc跨进程远程通信,其实底层使用的还是Netty客户端与服务端的交互。我们封装好dubbo,然后把jar分别引入到consumer和provider,这时consumer和provider二者相当于都具有了dubbo的源码,dubbo肯定是同时具有Netty编写的Server端和Client端的,那么consumer和provider其实都可以作为服务消费者或服务生产者。如果在一个时刻,此时consumer作为client端去链接远端主机ip为xxx,port为xxx的provider,此时provider作为Server端等待监听bind port为xxx,其实就可以处理远程链接过来的consumer请求。然后返回最终结果给Client端,即交给consumer。

反之亦然。

底层由Netty作为网络通信基础。Netty可定制化,协议可定制,序列化方式可在java层面指定,dubbo3也做了很好的封装。

相关推荐
许彰午1 天前
CacheSQL:一个面向政务系统的内存缓存数据库中间件
java·数据库·缓存·中间件·面试·开源软件·政务
亿牛云爬虫专家2 天前
Go爬虫进阶:如何优雅地在Colly框架中实现无缝代理切换?
爬虫·中间件·golang·爬虫代理·colly框架·代理切换·api提取
SuperherRo2 天前
服务攻防-中间件安全&Apache&Tomcat&Jetty&Weblogic&AJP协议&反序列化&CVE漏洞
中间件·tomcat·apache·jetty·weblogic
空中海2 天前
第四篇:进阶篇 — 缓存、消息队列、安全与常用中间件
安全·缓存·中间件
逍遥德3 天前
MQTT教程详解-03. 高级知识点
java·物联网·中间件·信息与通信·iot·iotdb
前端小超人rui3 天前
【Node.js Express中间件理解及中间件分类和作用】
中间件·node.js·express
前端小超人rui3 天前
封装Express 自定义中间件
中间件·node.js·express
weixin_419658313 天前
RabbitMQ 应用问题
java·分布式·中间件·rabbitmq
z小天才b3 天前
Django ORM、中间件与信号 — 完全指南
python·中间件·django
fuquxiaoguang3 天前
金蝶天燕AMDC:当企业级缓存遇见Redis 8.2,国产中间件的“性能+易用”双飞跃
redis·缓存·中间件