NSQ 消息的最大大小是多少?

Posted

技术标签:

【中文标题】NSQ 消息的最大大小是多少?【英文标题】:What's the max size of a NSQ message? 【发布时间】:2016-01-23 06:09:39 【问题描述】:

我正在针对特定项目使用 NSQ http://nsq.io/ 进行评估。这个想法是建立一个数据管道,其中每个步骤都是一个作业,并且理想情况下状态将位于消息正文中。

这让我想到了潜在的最大消息大小。我无法找到有关该主题的任何文档。可以是任意大小吗?如果消息大到无法放入内存,我想这会影响性能。

【问题讨论】:

【参考方案1】:

正如 Aldo 提到的,默认的最大消息大小约为 1 兆字节。

这很容易通过 NSQ 守护程序的 max-msg-size 开关进行更改。以下是如何使用它的示例:

nsqd --lookupd-tcp-address=127.0.0.1:4160 -max-msg-size=2097152

这告诉 NSQ 守护进程 (nsqd) 最大消息大小应该是 2 兆字节而不是默认值。

使用此设置,您确实可以收到一条可以填满您记忆的消息,正如您在评论中提到的那样。

【讨论】:

【参考方案2】:

据我从文档中得知,它看起来像 it's 1MB by default。

我知道这听起来很多,但我设法达到了这个限制。

我现在要做的是发送一条 NSQ 消息,其中包含有关事件的最少数据量,并在我处理它时在另一端获取完整数据。

【讨论】:

酷!非常感谢。这是一个设置,所以我猜你可能有一个很大的大小可以放入内存?你所说的“另一端”是什么意思,另一个数据库中的状态? “在另一端”是指当我使用它时,我会在 NSQ 消息中获得有关事件的更多详细信息(“另一端”:P)。

以上是关于NSQ 消息的最大大小是多少?的主要内容,如果未能解决你的问题,请参考以下文章

Cast SDK 中消息的最大大小是多少?

Linux安装和配置nsq

webRTC 数据通道消息的最大大小是多少?

消息队列(kafka/nsq 等)与任务队列(celery)到底有啥不同

通过 Google IoT 核心发布/订阅消息的最大有效负载大小是多少?

消息队列 NSQ 源码学习笔记