RabbitMQ 每连接队列创建和删除



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

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

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

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

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

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

最新更新