Spring MongoDB Reactive - 建议在一个应用程序中有多少变化流?

Sping MongoDB Reactive - how many change streams is it recommended to have in an application?

我尝试研究 Spring Reactive 和 MongoDB change streams 的主题。

而且我 运行 在开发我的应用程序时有很多更改流(到目前为止最多 10 个 - 但仍然) - 到目前为止一切顺利,但我相信当它被多个用户使用时可以影响内存 usage/performance 或任何东西。

能否请您就以下项目给我建议:

  1. 我在设置中有 websockets,我假设如果 WS 会话完成 - 那么相应的更改流被垃圾收集 - 是这样吗?

  2. 是否有任何特别推荐的方法来集中管理不同集合的变更流?

  3. 一般来说,变更流的最大数量和首选数量是多少?

我建议创建尽可能少的更改流,因为它们会给您的数据库带来大量查询负载。

我不知道您的具体用例,但我建议每个集合最多一个更改流。

您的所有订阅者都应订阅相同的更改流。

如果订阅者需要不同的更改子集,则他们有责任根据自己的特定需求过滤流。