RocketMQ原理解析-Remoting2. 通信层底层传输协议
来源:互联网 发布:怎么搭建python环境 编辑:程序博客网 时间:2024/06/05 15:39
http://blog.csdn.net/quhongwei_zhanqiu/article/details/39154155
RocketMq服务器与客户端通过传递RemotingCommand来交互,通过NettyDecoder,对RemotingCommand进行协议的编码与解码 协议格式 <length> <header length> <header data> <bodydata>
1 2 3 4
协议分4部分,含义分别如下
1、大端4个字节整数,等于2、3、4长度总和
2、大端4个字节整数,等于3的长度
3、使用json序列化数据
4、应用自定义二进制序列化数据
Header部分数据是通过FastJson序列化数据
请求自定义字段都会实现CommandCustomHeader接口,在RemotingCommand序列化之前会将CommandCustomHeader的字段拷贝到Header的extFields中去,让后在整体通过Fastjson序列化
Netty通过NettyEncoder、NettyDecoder自定义实现将RemotingCommand转换成byte[]
NettyEncoder:
NettyDecoder
阅读全文
0 0
- RocketMQ原理解析-Remoting2. 通信层底层传输协议
- RocketMQ原理解析-Remoting2. 通信层底层传输协议
- RocketMQ原理解析-Remoting2. 通信层底层传输协议
- RocketMQ原理解析-Remoting1. 通信层实现
- RocketMQ原理解析-Remoting1. 通信层实现
- RocketMQ原理解析-Remoting3.通信层整体交互图
- RocketMQ原理解析-Remoting3.通信层整体交互图
- RocketMQ原理解析-Remoting3.通信层整体交互图
- 【RocketMQ原理解析2.1】源码目录结构介绍&Remoting通信层
- Thrift源码解析(三)传输层协议
- RocketMQ原理解析-namesrv
- rocketmq-producer原理解析
- RocketMQ原理解析-namesrv
- RocketMQ原理解析-namesrv
- rocketMQ nameSrv原理解析
- RocketMQ原理解析-namesrv
- 网络通信(Telematik)-传输层协议(Transportprotokolle)1
- 网络通信(Telematik)-传输层协议(Transportprotokoll)2
- 数据库索引的创建 和 注意事项
- 单个、双个正态分布区间估计--R code
- 仿微信长按菜单
- Spark RDD的缓存 rdd.cache() 和 rdd.persist()
- Combination Sum (lintcode 135)
- RocketMQ原理解析-Remoting2. 通信层底层传输协议
- MVP解绑
- vue 项目上传到git 提交到测试服
- Linux安装JDK、Tomcat、部署Java项目
- 理解RESTful架构
- idea导入eclipse的web项目
- 自己用的C#基础学习笔记(二)——C#面向对象(3)
- 关于Deamon编程的部分
- RocketMQ原理解析-Remoting3.通信层整体交互图