0

我一直在一个新项目中采用 RabbitMQ。我需要一个集群环境来支持系统故障和高需求。关于问题:每当客户端连接时,必须将队列创建为独占。如果客户端断开连接,我希望删除队列,释放其资源。此外,必须使用每个凭据权限来限制与主题的队列绑定。

最后,我想限制连接以仅创建独占队列(连接关闭时将自动删除),并且仅将此类队列绑定到我允许的主题列表,并为每个用户帐户配置。

我既不能将队列创建限制为独占,也不能限制客户端可以订阅的主题。我可以基于 VHOSTS 施加此约束,但这需要动态创建 VHOSTS,可能还有数百个。

这在 RabbitMQ 中可行吗?有更好的方法吗?谢谢

4

1 回答 1

1

如果您只希望客户端能够创建独占队列,您可能需要编写自己的包装器并从客户端完全抽象出 RabbitMQ。让您的客户通过这个包装器与 RabbitMQ 对话,并在此处处理队列创建和绑定。

这将公开您自己的 queue_declare 版本,然后调用 RabbitMQ queue_declare 方法设置 exlusive=true。

于 2013-10-03T15:16:45.290 回答