Crossbar保留事件的内存消耗

Memory consumption of Crossbar retained events

self.publish('foo.%s' % id, 'bar', options=PublishOptions(retain=True))

使用保留事件时,Crossbar 路由器上的内存消耗行为是什么?事件是永久存储,还是在一段时间后清除并回收内存?

我正在使用通配符主题,因此保留事件的积压会不断增加,除非旧的 topics/retained 事件在某个时候被清除。

对于 full-on 事件历史,您可以配置内存使用量 (https://crossbar.io/docs/Event-History/),但对于保留事件,仅保留主题的最新事件。

"wildcard topics" 是指您要发布到 foo.<something>,因此您要发布的主题数量没有限制?

我可以看到两个解决方案(都需要对 Crossbar 进行更改):将 Meta API 添加到 expire/remove 特定保留事件,或者向 crossbar 添加一些配置选项以某种方式限制保留(也许是时间,也许是事件的数量)?

如果适用于您的 use-case,另一种解决方案是使 "topic" 成为固定 URI,并将 ever-changing 部分 ("id") 添加为争论;那么你可以使用 "retain" 只为最新的一个或者使用 "event history" 功能,如果你想保留一定数量。