zeromq里面关这个对垒长度限制叫做 “High Water Marks”,2.0版本默认是没有限制的,3.0里面这个长度默认为1000。这个比较容易达到啊,根据包大小和消耗的内存大概修改一下才行。 zeromq的api也提供了修改系统的tcp缓存大小的接口了。
详细的socket选项,参考 http://api.zeromq.org/3-2:zmq-setsockopt
https://www.cnblogs.com/fengbohello/p/4398953.html
ZMQ_SNDHWM: Set high water mark for outbound messages
ZMQ_RCVHWM: Set high water mark for inbound messages
socket = new zmq :: socket_t (* context , ZMQ_PUSH );
int queue_length = 5000 ;
socket -> setsockopt ( ZMQ_SNDHWM , & queue_length , sizeof ( queue_length ));
socket -> connect ( "tcp://127.0.0.1:5555" );
ZeroMQ高水位标记详解
本文详细介绍了ZeroMQ中高水位标记(HighWaterMarks)的概念及其在不同版本中的默认设置,特别是在3.0版本中默认为1000。文章解释了如何通过调整这一参数来优化消息队列长度,以适应不同的网络条件和应用需求,同时提供了修改系统TCP缓存大小的API示例。
172万+

被折叠的 条评论
为什么被折叠?



