例如,我实现了一个搜索索引服务,它接收搜索请求并使用消息生成响应。
目前我已经定义了一个队列来排队搜索请求,另一个队列将搜索结果排入队列。
您是否会将此重构为仅排队到消息具有请求和响应 路由密钥的唯一队列?或者这个特殊情况是否过度使用 RabbitMQ ?
答案 0 :(得分:1)
听起来你想使用RPC模式?要遵循该协议,您应该根据ReplyTo
中的ReplyToAddress
或BasicProperties
发布回复。这样,由调用者(请求者)决定预期响应的发布位置。在我看来,声明一种消息类型的专用交换可能是过度的。要获得更高的性能,您可以使用direct reply to功能。有a lot of high level clients可以帮助您处理其中的一些事情。
答案 1 :(得分:0)
经过一些研究,我认为这应该是良好做法:
在一天结束时,使用路由键将消息发布到我的特定情况下的同一队列并不是自然。感觉很烦人。