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

相关推荐
运维成长记1 小时前
mysql数据库-中间件MyCat
数据库·mysql·中间件
低代码布道师2 小时前
第五部分:第五节 - Express 路由与中间件进阶:厨房的分工与异常处理
中间件·express
TiDB 社区干货传送门3 小时前
从开发者角度看数据库架构进化史:JDBC - 中间件 - TiDB
数据库·oracle·中间件·tidb·数据库架构
运维-大白同学16 小时前
go-中间件的使用
中间件·golang·xcode
Dotrust东信创智1 天前
面向SDV的在环测试深度解析——仿真中间件SIL KIT应用篇
网络·中间件·汽车
田一一一1 天前
Android framework 中间件开发(三)
android·中间件·framework·jni
残花月伴1 天前
springCloud/Alibaba常用中间件之Seata分布式事务
分布式·spring cloud·中间件
noravinsc1 天前
国产化中间件 替换 nginx
运维·nginx·中间件
田一一一1 天前
Android framework 中间件开发(二)
android·中间件·framework
残花月伴2 天前
springCloud/Alibaba常用中间件之Setinel实现熔断降级
spring·spring cloud·中间件