列表 a
和 b
是键和值。变量b
中的值被指定为topicnumbers,数据每10秒发送一个主题。这是一种分发信息的稳定方式吗?当密钥和主题扩展到100 +时,有人会在不久的将来看到任何困难吗?
import zmq
import random
import time
from multiprocessing import Process
a = ['one', 'two', 'three', 'four', 'five']
b = [10, 20, 30, 40, 50]
d = dict(zip(a, b))
def pub001():
port = "5100"
context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind("tcp://*:%s" % port)
while True:
for i, x in d.items():
topic = x
number = random.randrange(1, 215)
print(topic, number)
socket.send_string("%d %d" % (topic, number))
print("Data published", topic)
time.sleep(10)
if __name__ == "__main__":
a =Process(target=pub001, args=())
a.start()
答案 0 :(得分:0)
没有。如果您阅读有关<_Topic-filter_>
- 处理的详细信息,则有大约4个数量级的空间(10.000 x更大的树可用),因此无需预期几百个范围内的静态计数出现问题(如果您正确地缩放节点的存储资源,根据哪一方实际进行<_Topic-filter_>
处理。
当然,如果机器与其他机器进行对话,那么设计一个更好的信息表示,而不是将其包装成一个极其冗余的人类可读的字符串,但效率极低({local + transport + remote}上都很贵 - {处理+存储}),数据表示。
对于最大延迟包络,一种更智能,位图(可能是TimeDOMAIN合并)有效载荷的方式更有意义。