分区感知榛子队列



无论如何,我们可以在Hazelcast分布式队列上执行分区感知操作吗?

例如,我将在一个队列中有多个消费者节点,并且希望每次都由同一节点处理"相似"类型的消息。通过类似的类型,我的意思是消息的一些业务密钥。

目前,我们正在拥有一个分布式流数据处理生态系统,通过在 IMap 上使用来自本地条目侦听器的消息。特定的对象模型属性被设置为键,因此我们知道模型按键分布在分区中。因此,处理逻辑可以在本地执行,而无需使用分布式锁(或根据设计合同根本不使用任何锁)。我希望使用分布式阻塞队列会有类似的行为。

这可行吗?使用 Hazelcast 3.3.3

您知道队列(当前)不是分区数据结构吗?因此,集群中有一个成员负责存储该队列中的所有数据(另一个成员负责备份)。

您可以控制队列的存储位置,例如,如果您有 2 个队列并希望它们存储在同一个分区中,请使用

foo@somekeybar@somekey

在这种情况下,两个队列都存储在"somekey"分区中。

最新更新