zoukankan      html  css  js  c++  java
  • 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特有的相关参数。

  • 相关阅读:
    5-4 链表的天然递归结构性质
    java8 Optional 解析
    [leetcode] Unique Binary Search Trees
    [leetcode] Anagrams
    [leetcode] Valid Number
    构造素数表2
    构造素数表1
    整型所占字节
    习题7-8 字符串转换成十进制整数
    习题7-7 字符串替换
  • 原文地址:https://www.cnblogs.com/caiyao/p/14971396.html
Copyright © 2011-2022 走看看