如何把一个请求放到消息队列里?

把一个字符串, 或者一个json放到消息队列是很简单的, 但一个请求(http或者websocket)是如何放到消息队列的呢, 我不理解, 这可是一个struct, 不同的语言结构体都不一样, 而且这个对象只在生产者的机器上被分配了内存空间, 如果要传给mq, 应该是要序列化的吧? 怎么序列化呢? 能否举个例子?

阅读 3.7k
2 个回答

选择一种格式,比如json、avro、protobuf, 使用对应格式的库或包将结构体序列化成字节序列,然后将字节序列发送给消息队列。将格式的规范提供给消息队列的消费者,消费者就能根据规范实现消息的解析。

把一个http请求放到消息队列我感觉没啥意义啊。
消息队列又不会转发请求接收response。
如果你说struct或者对象,一般的对象都可以xml和json表达吧。
消息队列本身就是用来解耦的。

推荐问题