我试图将当前的RabbitMQ实现移植到ActiveMQ(由于我无法控制的几个原因)。我正在尝试设计与当前RabbitMQ设计相同的数据流。
在我们当前的设计中,我们在RabbitMQ中创建一个主题,然后消费者(玩家)创建他们的队列并使用键绑定(格式为player-[id]-[up/down]
)绑定到主题。因此,您最终得到一个名为GamePoints
的主题和数千个队列(每个玩家一个)绑定到该主题,其中键等于玩家ID。我们现在可以使用GamePoints
的密钥向player-1234-up
主题生成消息,并且具有该ID的玩家将收到该消息。这很有效。这也允许我们创建像player-1234-*
这样的键绑定,并接收发往该播放器的所有消息。
我是ActiveMQ的新手,并试图模仿这种行为。到目前为止,我已经提出以下建议:
GamePoints
playerId=1234
GamePoints
主题,PlayerId
标题值为1234
playerId like '1234-%'
这是一个好模式吗?我担心这不会缩放,因为在我拥有数十万订阅者的情况下,它必须为每条消息运行JMS选择器数十万
感谢您的帮助!