我已经阅读了所有 zeromq 文档,简单模式和高级模式。
我尝试使用转发器作为中介,因此发布者发布到转发器。转发器发布给订阅者。
尝试使用 TCP,并为订阅者设置 socket.setsockopt_string(zmq.SUBSCRIBE, "")。 此设置在 subscriber1 和 subscriber1000 之间产生了巨大的延迟,例如 5 毫秒。因此,平均而言,从转发器发送到其他订阅者需要 5 微秒。
高级模式建议使用PGM/EPGM发送给大量订阅者。 我试图在同一台机器上执行此操作,但 EPGM 没有收到任何消息... 配置为 socket.connect("epgm://172.31.41.248;239.192.1.1:5555")
ZeroMQ 在一对一发送消息时表现出色,我的测试给了我从发布到订阅的 60 微秒。
距离60-100微秒不远,是否可以实现1比1000的延迟? 如何正确地做到这一点?