我正在为特定项目使用 NSQ http://nsq.io/进行评估。这个想法是建立一个数据管道,其中每个步骤都是一个作业,并且理想情况下状态将位于消息正文中。
这让我想到了潜在的最大消息大小。我无法找到有关该主题的任何文档。可以是任意大小吗?我想如果消息足够大而无法放入内存,它会影响性能。
我正在为特定项目使用 NSQ http://nsq.io/进行评估。这个想法是建立一个数据管道,其中每个步骤都是一个作业,并且理想情况下状态将位于消息正文中。
这让我想到了潜在的最大消息大小。我无法找到有关该主题的任何文档。可以是任意大小吗?我想如果消息足够大而无法放入内存,它会影响性能。
正如 Aldo 提到的,默认的最大消息大小约为 1 兆字节。
这很容易max-msg-size
通过 NSQ 守护程序的开关进行更改。以下是如何使用它的示例:
nsqd --lookupd-tcp-address=127.0.0.1:4160 -max-msg-size=2097152
这告诉 NSQ 守护进程 ( nsqd
) 最大消息大小应该是 2 兆字节而不是默认值。
正如您在评论中提到的那样,使用此设置,您确实可以收到一条会填满您的记忆的消息。
据我从文档中可以看出,默认情况下它看起来是 1MB。
我知道这听起来很多,但我设法达到了这个限制。
我现在正在做的是发送一条 NSQ 消息,其中包含有关事件的最少数据量,并在我处理它时在另一端获取完整数据。