mq网络请求命令设计

Posted lccsblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mq网络请求命令设计相关的知识,希望对你有一定的参考价值。

RemotingCommand:

 

技术图片

 

flag倒数第一位表示请求类型,0请求1返回。倒数第二位1.表示oneway

单条消息发送时,消息体的内容将保存在body种,批量消息发送,需要将多条消息体的内容存储在body中,RocketMQ采取的方式是,对单条消息内容使用固定格式进行存储

 

技术图片

 

首先调用batch方法,将一批消息封装成MessageBatch对象,MessageBatch继承自Message对象,MessageBatch内部持有List<Message>messages,这样的话,批量消息发送流程与单条消息发送的处理流程完全一样。MessageBatch只需要将该集合中的每条消息的消息体body聚合成一个byte[]数值,在消息服务端能够从该byte[]数值中正确解析出消息即可。

 

 

技术图片

 

 

 

技术图片

 

 

 

技术图片

以上是关于mq网络请求命令设计的主要内容,如果未能解决你的问题,请参考以下文章

造轮子 | 如何设计一个面向协议的 iOS 网络请求库

如何设计可向后兼容的RPC协议

IOS怎么抓取网络请求包

fireflyLogin网络工具设计模式——类工厂(学习笔记)

Android网络请求库【OkHttp4.9.3】基本用法与原理分析

curl -u username:password命令请求url,怎么转换成http进行网络请求呢?