RabbitMQ每连接队列创建和删除

时间:2013-10-03 14:46:31

标签: rabbitmq amqp

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

总结一下,我想约束连接只创建独占队列(在连接关闭时会自动删除),并且只将这样的队列绑定到我允许的主题列表,按用户帐户配置。

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

RabbitMQ有可能吗?有没有更好的方法呢? 感谢

1 个答案:

答案 0 :(得分:1)

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

这会暴露你自己的queue_declare版本,然后调用RabbitMQ queue_declare方法设置exlusive = true。