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 消息的最大大小是多少?的主要内容,如果未能解决你的问题,请参考以下文章
消息队列(kafka/nsq 等)与任务队列(celery)到底有啥不同