4

使用 pulsar 为每个散列动态创建一个主题(或分区),并在不再使用时删除主题(或分区),这是可能的和好的场景吗?

这个想法是能够以有序的方式读取具有相同散列的数据,而不会在具有相同散列的两条消息之间产生具有另一个散列的消息。允许客户在内存中仅保留有限数量的聚合消息。

消费者还应该能够在开始消费另一个主题(或分区)之前完全消费一个主题(或分区)。

因此,目标是能够以不同的顺序消费和生产数据。

produce  in this order          and read like this
1 2 3 4 5 
_ _ _ _ _
a b c d e                       1 [a b c d e] 
a b c d e                       2 [a b c d e]
a b c d e     -------->         3 [a b c d e]
z y x w v                       4 [z y x w v]
g h i j k                       5 [g h i j k]
_ _ _ _ _

在这个例子中,消息密钥哈希当然没有显示(每行有相同的密钥哈希)

4

1 回答 1

4

使用 pulsar 为每个散列动态创建一个主题(或分区),并在不再使用时删除主题(或分区),这是可能的和好的场景吗?

当然,与其他消息传递系统相比,在 Pulsar 中创建许多主题的操作要便宜得多。主题可以显式删除,也可以在所有生产者和消费者断开连接并且主题上的所有订阅也被删除时自动删除。

消费者还应该能够在开始消费另一个主题(或分区)之前完全消费一个主题(或分区)。

如果每个key使用 1 个主题,那么在消费者方面,您可以灵活地决定如何使用消息。

您唯一需要确保的是在所有主题上创建订阅,然后在它们上发布消息,以便让 Pulsar 保留数据。

于 2018-01-05T09:44:26.483 回答