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

相关推荐
彭于晏Yan2 小时前
MQTT消息服务
spring boot·后端·中间件
Nandeska7 小时前
1、RocketMQ核心概念详解
中间件·rocketmq
Tezign_space11 小时前
Context System vs. API网关与中间件:重新定义AI时代的“连接”逻辑
中间件·agentic ai·gea·主动规划·企业级智能体·proactive agent
Volunteer Technology1 天前
中间件场景题归纳
中间件·面试·架构
攒了一袋星辰1 天前
SequenceGenerator高并发有序顺序号生成中间件 - 架构设计文档
java·后端·spring·中间件·架构·kafka·maven
天微微蓝sunny1 天前
Linux 磁盘与文件 I/O 深度笔记
中间件·存储
勇往直前plus1 天前
大模型开发手记(九):LangChain Agent 中间件-提升Agent的可靠性与可控性
中间件·langchain
Volunteer Technology1 天前
中间件场景题归纳(二)
中间件
隔壁小邓2 天前
数据库中间件全景解析:从连接管理到分布式协同
数据库·分布式·中间件
爱喝可乐的老王2 天前
LangChain内置中间件总结
中间件·langchain