Azure Eventhub 序列号排序

Azure Eventhub Sequence Number sequencing

我知道以下对于分区内的序列号是正确的:-

序列号遵循可预测的模式,其中编号在分区范围内是连续且唯一的。因此,如果消息 x 的序列号为 500,则消息 y 的序列号为 501.

说收到消息时的最后一个序列号是 5000,然后再没有收到消息,7 天保留政策后,第 10 天我们在分区上收到一条消息,序列号将从 5001 开始还是会这次会不一样吗?

我问的原因是因为我看到: "预期的序列号 xxx 小于接收到的序列号 yyy。"?

例如:- 提供的序列号“33508”无效。系统中的最后一个序列号是'583'

只是为了更新此 post 的答案,我们发现确实重新创建了相关的 EventHub,但未重置检查点存储。因此,客户端提供的序列号(从检查点存储中读取)大于服务中的最新序列号。

正如Serkant在上面确认的那样,序列号总是连续的。它只能通过重新创建 eventhub 来中断。通常,您不需要在生产环境中删除和重新创建 EventHub。但是如果你 运行 进入这种情况,你也应该重置检查点存储。

HTH, 阿米特·巴蒂亚