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特有的相关参数。

  • 相关阅读:
    kafka 学习资料
    kafka 的 docker 镜像使用
    SpringBoot 使用 Mybatis 注解进行一对多和多对多查询(不推荐使用注解方式)
    MYSQL 中的 int(11) 到底代表什么意思?
    MyBatis 学习资料
    什么是 CAP 理论?
    一致性哈希算法原理
    SELECT 语句语法
    MySQL中如何实现 select top n
    基于 debian:stretch-slim 系统镜像的 docker 镜像,安装 curl
  • 原文地址:https://www.cnblogs.com/caiyao/p/14971396.html
Copyright © 2011-2022 走看看