划分消息队列的标准智慧和注意事项是什么?
假设消息数量相对较少(< 1000/天),将多种消息类型组合到一个队列中并让消费者使用选择器过滤它们是否有意义?或者,一个队列是否应该只处理一种消息类型?
我能想到的几个可能的考虑因素:
- 至少在我对 ActiveMQ 的有限了解中,看起来读/写安全性是每个队列的。因此,需要不同读/写权限的消息类型需要不同的队列。
- 消息选择器似乎需要一个标准的标头值(MessageType:AbcMessage)来过滤
- 队列爆炸(> 10、> 100、> 1000?)似乎比消息爆炸更能影响性能
- 每个队列的单一消息类型似乎更容易为其编写客户端代码。只需处理队列中的每条消息。如果您想要不同的消息类型,请订阅不同的队列。
- ???