• dubbo报文通用格式相关源码


    先看使用的地方,dubbo协议底层使用netty进行tcp通信,netty提供了报文encode和decode的接口,可以看nettyserver构建server的地方:

    在创建netty server的时候会通过调用getCodec方法获取dubbo对应的codec实现类。dubbo codec实现类的层级结构如下:

     TransportCodec已经废弃不用,所有的方法在TelnetCodec和ExchangeCodec中都已经被覆写。从上往下看:

    Codec2接口定义了encode和decode方法,这两个方法都会依赖ChannalBuffer接口,ChannelBuffer主要实现了缓存的目的,为了在encode和decode的时候做数据临时存储。

    AbstarctCodec主要定义了检查payload的逻辑还有获取序列化组建,在整个codec模块里底层都是依赖序列化组建来做最后的数据序列化和反序列化,codec模块主要完成的是请求和响应自定义格式的解析,比如请求头、响应头。

    TelnetCodec主要定义的是telnet协议的内容。 todo:

    ExchangeCodec定义了通用的请求头和响应头解析逻辑。

    DubboCodec在ExxhangeCodec的基础上在请求体和响应体中再加入了dubbo特有的相关参数。

  • 相关阅读:
    OCP-1Z0-052-V8.02-28题
    OCP-1Z0-052-V8.02-27题
    OCP-1Z0-052-V8.02-26题
    OCP-1Z0-052-V8.02-25题
    Oracle DB 管理还原数据
    Flex中常见的图
    OCP-1Z0-052-V8.02-23题
    OCP-1Z0-052-V8.02-21题
    OCP-1Z0-052-V8.02-20题
    OCP-1Z0-052-V8.02-19题
  • 原文地址:https://www.cnblogs.com/caiyao/p/14971396.html
Copyright © 2020-2023  润新知