在 rabbitmq 代理上预处理 queue 中的消息
Preprocessing messages in queue on rabbitmq broker
是否可以在 rabbitmq 的 broker 上做一些预处理消息?
我想做的事情是:
0. Let assume that that we catch message at the while before it was published to queue.
1. This message is string (by assumption)
2. preprocess message and split it to many messages by some delimiter (`,`)
3. Publish to queue many messages instead of one
可以吗?我不想在发布之前拆分消息,因为我连接了很多消息以减少 IO(我想减少 TCP 数据包,headers 克服等等)。
我从未听说过在 Rabbit MQ 的代理端处理消息。由于 Rabbit MQ 中的代理是 "virtual entity" 我不确定是否可以这样做。
如果可能的话,我不确定向代理引入业务逻辑听起来是不是个好主意——但这当然只是我的主观意见。
无论如何,也许您应该考虑通过更改协议来节省流量:
将您需要的一切存储在一些存储(如 redis 或 aerospike)中,这些存储应该与 ID 一起超快。在 Rabbit MQ 中,只需发送带有 ID 的消息,该 ID 将与消息一起存储在 Redis 中。
希望你会发现这个有用
是否可以在 rabbitmq 的 broker 上做一些预处理消息?
我想做的事情是:
0. Let assume that that we catch message at the while before it was published to queue.
1. This message is string (by assumption)
2. preprocess message and split it to many messages by some delimiter (`,`)
3. Publish to queue many messages instead of one
可以吗?我不想在发布之前拆分消息,因为我连接了很多消息以减少 IO(我想减少 TCP 数据包,headers 克服等等)。
我从未听说过在 Rabbit MQ 的代理端处理消息。由于 Rabbit MQ 中的代理是 "virtual entity" 我不确定是否可以这样做。
如果可能的话,我不确定向代理引入业务逻辑听起来是不是个好主意——但这当然只是我的主观意见。
无论如何,也许您应该考虑通过更改协议来节省流量: 将您需要的一切存储在一些存储(如 redis 或 aerospike)中,这些存储应该与 ID 一起超快。在 Rabbit MQ 中,只需发送带有 ID 的消息,该 ID 将与消息一起存储在 Redis 中。
希望你会发现这个有用