我正在使用该node-amqp
模块来管理rabbitmq 订阅。具体来说,我为每个用户/会话分配了一个独占/私有队列,并通过 REST 接口提供绑定方法。即“将我的队列绑定到这个exchange/routing_key 对”,以及“取消绑定我的队列到这个exchange/routing_key 对”。
这里的挑战是避免在内存中保留对队列对象的引用(例如,在具有模块范围的对象中)。
每次我需要它时简单地从连接中检索队列本身证明很困难,因为队列对象在内部保持绑定标签,可能是为了避免违反amqp 0.9.1 参考中的以下内容:
客户端不得尝试解除绑定不存在的队列。错误代码:未找到
我尝试使用 connect-mongo 将队列对象简单地设置为会话对象的属性,因为它在其属性上使用 JSON.stringify/JSON.parse。不幸的是,由于循环结构,队列对象无法“字符串化”。
从 node-amqp 模块持久化队列对象的最佳实践是什么?是否可以序列化/反序列化?