用于事件中心轮循机制的算法



如果在向事件中心发送消息时未指定特定分区,则我知道该消息以循环方式分配给分区。

但是,对于循环赛,Eventhub 是否从字面上保留下一个分区号的标志来转发,或者是否使用更复杂的逻辑,例如获取事件数据的一些哈希值和一个 mod 来给出分区号? 如果有人知道算法,请告诉我。

我们希望实现一种类似的方法来批量发送消息,以了解要转发到哪个分区。

在事件中心,循环使用简单的 mod 操作:(消息索引(%(分区总数(。

假设您有 15 条消息(索引为 0-14(和 5 个分区(索引为 0-4(。

然后第一条消息(索引 0(将修改 5(分区总数(,如 0%5。 它返回 0,因此第一条消息将转到分区号 0。

然后第二条消息(索引 1(将修改 5,如 1%5。 它返回 1,因此第二条消息将转到分区编号 1。

对于其他消息,它们将遵循上述算法。

希望对您有所帮助。

最新更新