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也做了很好的封装。

相关推荐
罗曼蒂克在消亡7 小时前
ELK--收集日志demo
elk·中间件
栀夏6131 天前
Kafka 快速入门
中间件
Dylanioucn1 天前
【分布式微服务云原生】探索Redis:数据结构的艺术与科学
数据结构·redis·分布式·缓存·中间件
一水鉴天2 天前
智能工厂的软件设计 作为“程序Program”的中台
运维·人工智能·机器学习·中间件
加油,旭杏3 天前
【中间件学习】Nginx快速入门(为了配置一个项目)
学习·nginx·中间件
前端 贾公子3 天前
Express内置的中间件(express.json和express.urlencoded)格式的请求体数据
中间件·json·express
-XWB-3 天前
【安全漏洞-中间件】nginx版本号屏蔽
运维·nginx·中间件
小春学渗透3 天前
安全服务面试总结
安全·网络安全·中间件·安全服务
是曹大大4 天前
【RocketMQ】RocketMQ的特性(顺序、事务等)
java·中间件·rocketmq
上官花雨5 天前
第八章 中间件:SpringBoot 集成 Redis
spring boot·redis·中间件