当我编写一些代码来测试天蓝色服务总线上新发布的 EventHub 时。
由于网上的文章很少,msdn 也没有关于事件中心细节的丰富文档。所以我希望有人可以分享你对我的问题的经验。
对于 EventHub,我们有以下声明:
我们使用“偏移量”来记住我们在从某个分区读取事件数据时的位置
EventHub 上的事件数据将在一些可配置的时间跨度后过期(自动?)
所以我的问题是,offset
当一些事件数据由于过期而被删除时,它是否仍然可用/耐用?
例如,我们在其中一个分区上有以下数据:
M1 | M2 | M3 | M4 ( oldest --> latest )
在我的处理逻辑运行之后,假设我已经处理了M1
and M2
,所以偏移量将是M2
(使用独占模式时)的开始。
一段时间后,如果我的服务在那段时间停止。M1
由于过期而被删除。所以分区会变成:
M2 | M3 | M4 | M.... ( oldest -> latest )
在这种情况下,当我的服务器再次重新启动时,我之前存储的偏移量是否仍可用于读取M3
?
当一些最旧的事件数据过期时,当我的消费者服务器正在读取 eventthub 上的事件数据时,我们还可以在运行时对这种情况进行成像,在运行时offset
仍然可用吗?
感谢您分享这个问题。