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

相关推荐
虚行13 小时前
Mysql 数据同步中间件 对比
数据库·mysql·中间件
康谋自动驾驶13 小时前
ROS 传感器模块的通用架构设计与跨中间件扩展实践
中间件
奥尔特星云大使13 小时前
mysql读写分离中间件Atlas安装部署及使用
数据库·mysql·中间件·读写分离·atlas
聊聊MES那点事19 小时前
Cogent DataHub vs Kepware,两大工业数据中间件的深度对比分析
开发语言·中间件·opc·opc ua
千鼎数字孪生-可视化19 小时前
智能制造中的中间件作用:融通设备、系统和云平台
中间件·制造·智能制造
千汇数据的老司机20 小时前
边缘存储+中间件协同策略:实现设备数据高效处理与低延迟响应
中间件
jc06202 天前
4.4-中间件之gRPC
c++·中间件·rpc
thginWalker3 天前
中间件常用组件的原理和设计
中间件
奥尔特星云大使4 天前
mysql读写分离中间件——Atlas详解
数据库·mysql·中间件·dba·读写分离
2301_772093564 天前
Fastdfs_MinIO_腾讯COS_具体逻辑解析
数据库·redis·分布式·中间件