linux – 使用ZeroMQ的反向PUBSUB问题

linux – 使用ZeroMQ的反向PUBSUB问题,第1张

概述我正在尝试使用ZeroMQ设置“倒置”PUB / SUB. 意味着订阅(SUB)套接字属于多个长生命服务器,执行zmq_bind();和发布(PUB)套接字是一个短命的客户端,并执行zmq_connect(). 我使用单个ipc://套接字. 我希望发布商的消息能够覆盖每个订阅者. 问题:只有一个订阅者进程收到消息.如果该进程终止,则发布者会陷入zmq_term(). 这种 *** 作模式是否受zmq支持 我正在尝试使用ZeroMQ设置“倒置”PUB / SUB.

意味着订阅(SUB)套接字属于多个长生命服务器,执行zmq_bind();和发布(PUB)套接字是一个短命的客户端,并执行zmq_connect().

我使用单个ipc://套接字.

我希望发布商的消息能够覆盖每个订阅者.

问题:只有一个订阅者进程收到消息.如果该进程终止,则发布者会陷入zmq_term().

这种 *** 作模式是否受zmq支持?如果是,那么我做错了什么?如果没有,那么如何实现我需要的东西?

带有一些额外细节的最小例子(在Lua中,但这不应该):https://gist.github.com/938429

解决方法 你不能将多个套接字绑定到一个ipc://地址(我们在这里谈论Unix域套接字ipc:///tmp/test.ipc == file /tmp/test.ipc).

您可以做的是将每个SUB套接字绑定到不同的ipc://地址,并让发布者将一个PUB套接字连接到每个这些地址. ZeroMQ允许一个套接字绑定/连接到多个地址.

zmq_term()上的阻塞最有可能导致延迟关闭问题(即,存在PUB套接字尝试发送的消息).看看ZMQ_LINGER插座选项.

总结

以上是内存溢出为你收集整理的linux – 使用ZeroMQ的反向PUB / SUB问题全部内容,希望文章能够帮你解决linux – 使用ZeroMQ的反向PUB / SUB问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存