NATS流服务器可以有多少个频道?

问题描述

我正在寻找流服务器,而NATS Streaming上的文档并未明确说明在我的情况下可以采用哪种扩展策略。

我假设我们将使用FT mode,因为我们需要确保最佳的消息持久性,但这意味着整个通道集一次只能由一台服务器处理。

也可以partition channels,从而允许多个服务器FT组在单个网格中共存,并在不同服务器之间拆分通道集。

以下是不清楚的。

如果我选择了一个应用模型,其中每个实体都可以接收一个专用的唯一渠道,并且我可以拥有数百万个共存实体(例如,活跃客户),那么NATS是否可以在FT +分区模式下一次处理数百万个渠道?

在这种情况下,每个渠道可能只有一个发布者和消费者。

解决方法

拥有数百万活跃的消费者(对应于独特的渠道)是我不确定的问题,我不确定NATS Streaming或运行它的系统是否能够处理。请注意,通道在磁盘上由目录表示,然后该目录包含该通道上的消息文件(数据+索引)和预订状态。因此,您可能会遇到文件描述符问题。

从您的问题中不清楚是否每个通道的使用者都是1,但是如果不是,并且您可能在同一通道中有大量使用者,那么您还需要考虑消息必须散布的扇出问题。交付(发送TCP)给那么多消费者。