azure - 是否保证序列号将增加 1 EventHub?
问题描述
我使用 Java 中的 PartitionReceiver 类从单个 Azure EventHub 分区中消费。我试图了解x-opt-sequence-number
我收到的每个 EventData 对象中可用的 SystemProperty。
是否保证每个 EventData 消耗的序列号增加 1,并且每个可能的序列号都存在于分区中?例如,如果我使用了一个序列号为 5 的事件,另一个使用了 10 的事件,那么基于此必须存在序列号为 6-9 的事件吗?
谢谢!
解决方案
更正的上下文
我的理解是不正确的。事件中心团队已确认序列号在单个分区范围内是连续的。
原始答案
据我了解,序列号不能保证在分区范围内是连续的,尽管它们通常是连续的。唯一严格的保证是,当事件被排入特定分区时,它们将始终按递增顺序排列。序列号特定于分区,不应跨分区进行比较。
如果您需要确保使用严格且特定的增量进行排序,最好的选择可能是在用户属性集合中为应用程序域的序列号添加自定义元数据位。当然,当在多台机器上跨发布者进行协调时,这确实会变得很棘手,并且可能会出现性能权衡。
推荐阅读
- python - Python 3 中的字典和 For 循环之谜
- asp.net - 无法从模型转换为视图模型,使用 AutoMapper asp.net 核心
- kubernetes - Kubernetes:创建动态本地卷以自动为 PVC 分配 PV 的最佳实践是什么?
- ubuntu - 如何在 ubuntu nginx 上为 blazor 站点提供正确的 mime 类型
- javascript - 响应式导航菜单对齐
- excel - 将 2 个循环合并为一个循环
- typescript - curried 定义在 uncurried 定义之后时的打字稿错误
- java - 如何在spring boot中仅发送主体请求中主要嵌套对象的ID
- go - go-gin中如何在中间件之间共享变量
- python - LSTM:层序的输入0与层不兼容