1

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

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

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

然而,尚不清楚的是以下内容。

如果我选择每个实体接收一个专用唯一通道的应用程序模型,并且我可以拥有数百万个共存实体(例如活跃客户) - NATS 是否能够在 FT+Partitioning 模式下一次处理数百万个通道?

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

4

1 回答 1

0

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

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

于 2020-11-18T15:44:57.887 回答