我正在寻找一个流媒体服务器,而关于NATS流媒体的文档并没有明确说明在我的情况下,使用什么扩展策略是可能的。
我假设我们将使用FT mode,因为我们需要确保最好的消息持久性,但这意味着整个通道集一次只能由一台服务器处理。
也可以partition channels,从而允许多个服务器FT组在单个网格中共存,并在不同服务器之间分割信道集合。
然而,不清楚的是以下几点。
如果我选择这样的应用模型,其中每个单独的实体都接收一个专用的唯一通道,并且我可以有数百万个共存的实体(例如,活跃的客户)- NATS能够在FT+Partitioning模式下同时处理数百万个通道吗?
在这种情况下,每个通道可能只有一个发布者和消费者。
发布于 2020-11-18 23:44:58
拥有数百万活跃用户(对应于独特的频道)是一种延伸,我不确定NATS流媒体或运行它的系统是否能够处理。请注意,一个通道在磁盘上由一个目录表示,然后该目录包含该通道上的消息(数据+索引)和订阅状态的文件。因此您可能会遇到文件描述符问题。
您的问题不清楚每个通道的消费者是否为1,但如果不是,并且同一通道可能有大量消费者,那么您还需要考虑扇出问题,即必须将消息传递(TCP发送)到那么多消费者。
https://stackoverflow.com/questions/64800525
复制相似问题