ZeroMQ中的主题

时间:2018-03-06 06:42:57

标签: zeromq

如何更好地使用ZeroMQ分隔主题 - 只需指定不同的端口或使用此处的前缀:ZeroMQ and multiple subscribe filters in Python

指定端口看起来更简单。

我并不是指连接多个主题。我的意思是应用程序的不同部分将连接到不同的端口。

1 个答案:

答案 0 :(得分:0)

不,使用不同的端口号将无法按您的方式工作。

aSubTypeSOCKET.setsockopt( zmq.SUBSCRIBE, aLeftMatchTopicFILTERasSTRING )
aSubTypeSOCKET.setsockopt( zmq.SUBSCRIBE,    anotherTopicFILTERasSTRING )
...
aSubTypeSOCKET.setsockopt( zmq.UNSUBSCRIBE, aLeftMatchTopicFILTERasSTRING )
...
aSubTypeSOCKET.setsockopt( zmq.SUBSCRIBE, yetAnotherTopicFILTERasSTRING )

是如何设置Topic-filter匹配条件以便有效使用的标准机制。

可能有多个connect() - s,但

aSubTypeSOCKET.connect( "tcp://123.123.123.123:12345" )
aSubTypeSOCKET.connect( "tcp://123.123.123.123:23456" )
aSubTypeSOCKET.connect( "tcp://123.123.123.123:34567" )

会使aSubTypeSOCKET确实.connect() - 编辑到多个端口号,但发件人方却决定,如果订阅“机制”将提供您可能预期的内容“专业化”使用而不是使用.setsockopt()订阅的常见主题过滤器。

接下来,如果多个.connect() - ed PUB -s传递消息,那么 SUB -side就会收到这些消息通过传入的“路由”策略,通过“公平队列 d”方式,因此SUB - 侧将必须转动并检查循环轮完全转向,只是看看,如果有任何现在/不存在和任何非空订阅主题 - 过滤器设置将对称地应用于所有PUB - 侧,类似地,第一个空字符串主题过滤器将“解除阻塞”/“短-cut“所有发件人从所有PUB - access-nodes传递任何消息。

我不会称之为更简单。

APP通常构建复杂的信令/消息传递平面

确实是尽可能持久的基础架构,其中许多套接字访问点根据需要.bind() / .connect()到许多单独的接入点地址,使用许多传输类的混合 {{ 1}}

这是基于ZeroMQ的设计的众多优势之一,可以和od享受。