3

我正在构建一个 zeromq PUB-SUB 模式,其中一个发布者有很多订阅者。我想构建持久的订阅者,所以我发现了 ZMQ_IDENTITy 套接字选项。

选择 Identity 的值时应该考虑什么?我可以对所有订阅者采取同样的做法吗?由于它们都是相同类型但在不同的机器上,这应该是一个问题,对吧?此外,UUID 是否仅像 zguide 示例中解释的那样通过 inproc 服务生成?

4

1 回答 1

3

不要使用 IDENTITY 选项。从 ZeroMQ/3.x 中删除了持久订阅者,因此您的应用程序将停留在 2.x 版本上。

持久订阅者如此糟糕,我们将其删除的原因是它们在发布者上消耗了任意数量的内存(消息必须保留在某个地方),这很容易导致内存不足,这是杀死您的 pubsub 系统的最快方法对于所有订阅者。

如果您想要一个持久的订阅者模型,您可以在 ZeroMQ 之上非常轻松地构建它,并且在指南(克隆模式)中有一个完整的工作示例。

我不确定是否有人在 ZeroMQ 上构建了一个持久的 pubsub 代理,这将是一个有趣的练习并且不是那么困难。

于 2012-11-10T05:04:55.817 回答