dubbo源码深度解读四之remoting模块

本文深入解读Dubbo的remoting模块,该模块负责远程通讯,结合netty、mina实现。主要讨论dubbo-remoting-api中的接口如ChannelHandler、Codec2、Transporter等,以及NettyServer和NettyClient的处理流程,揭示如何将底层通信转化为ChannelHandler接口的实现,实现通信细节的屏蔽。
摘要由CSDN通过智能技术生成

前言:remoting模块是远程通讯模块,相当于Dubbo协议的实现,是一个为Dubbo项目处理底层网络通信的层。具体结合了netty,mina等进行实现。

一,dubbo-remoting-api
首先结合文档的图先了解一下基础接口包的主要类。
这里写图片描述
1,ChannelHandler是抽象的通道事件处理器,同时注意到它的注解也是SPI

@SPI
public interface ChannelHandler {
   

    void connected(Channel channel) throws RemotingException;

    void disconnected(Channel channel) throws RemotingException;

    void sent(Channel channel, Object message) throws RemotingException;

    void received(Channel channel, Object message) throws RemotingException;

    void caught(Channel channel, Throwable exception) throws RemotingException;

}

2,Codec2.接口定义了编码解码规范,与废弃的接口Codec相比,Codec2没有依赖jdk的输入输出流, 以dubbo的ChannelBuffer为核心便于更好的整合(关于各个Codec2的实现类例如Du

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值