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

相关推荐
CTO Plus技术服务中11 小时前
大数据、开发环境、中间件、数据库运维开发教程
大数据·数据库·中间件
冷崖1 天前
消息队列-前言
中间件
玄同7651 天前
LangChain v1.0 中间件深度解析:从 Callback 到 Middleware 的演进
人工智能·语言模型·自然语言处理·中间件·langchain·agent·智能体
小邓吖2 天前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
Prince-Peng2 天前
技术架构系列 - 详解Redis
数据结构·数据库·redis·分布式·缓存·中间件·架构
Prince-Peng3 天前
技术架构系列 - 详解Kafka
分布式·中间件·架构·kafka·零拷贝·消息中间件·填谷削峰
爱吃山竹的大肚肚3 天前
异步导出方案
java·spring boot·后端·spring·中间件
GIS开发者3 天前
对nacos进行信创改造,将其中的tomcat替换为保兰德的中间件
java·中间件·nacos·tomcat·保兰德
晚风_END3 天前
postgresql数据库|连接池中间件pgbouncer的部署和配置详解
数据库·后端·spring·postgresql·中间件·个人开发
郑州光合科技余经理4 天前
同城配送调度系统实战:JAVA微服务
java·开发语言·前端·后端·微服务·中间件·php