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

相关推荐
Alex Gram3 小时前
四款主流数据库同步中间件详解
中间件·数据库同步·数据库同步中间件
k***85845 小时前
【Golang】——Gin 框架中间件详解:从基础到实战
中间件·golang·gin
李宥小哥1 天前
Redis13-实践-短信登录
中间件
利刃大大1 天前
【c++中间件】语音识别SDK && 二次封装
开发语言·c++·中间件·语音识别
晚风吹人醒.2 天前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
p***q782 天前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
k***z113 天前
国产化中间件东方通TongWeb环境安装部署(图文详解)
中间件
5***r9353 天前
开源数据同步中间件(Dbsyncer)简单玩一下 mysql to mysql 的增量,全量配置
mysql·中间件·开源
q***06474 天前
SocketTool、串口调试助手、MQTT中间件基础
单片机·嵌入式硬件·中间件
f***24114 天前
【中间件】Pulsar集群安装
中间件