【Azure 事件中心】在Service Bus Explorer工具种查看到EventHub数据在分区中的各种属性问题
问题描述
通过Service Bus Explorer工具,查看到Event Hub的属性值,从而产生的问题及讨论:

- Size in Bytes: 这个是表示当前分区可以存储的最大字节数吗?
- LastEnqueuedOffset: 这个是表示是最后一条消息在这个分区上的字节偏移量吗?
- Incoming / OutgoingBytesPerSecond: 这两个值是0,是按照多长的时间跨度算的这个值?
- Begin Sequence Number: 这个是在这个消费者组的视角下未被消费的消息的起始消息号吗?
- End Sequence Number: 这个是在这个消费者组的视角下未被消费的消息的结束消息号?
- 如果Event Hub下有两个消费者组,一个Default,一个是自建的,两个消费者组看到的内容是一样的吗?
问题回答
Size in Bytes: 这个是表示当前分区可以存储的最大字节数吗?
【答】:Size in Bytes是指事件分区的大小
LastEnqueuedOffset: 这个是表示是最后一条消息在这个分区上的字节偏移量吗?
【答】:LastEnqueuedOffset 是指最后一个进入队列的事件的偏移量
Incoming / OutgoingBytesPerSecond: 这两个值是0,是按照多长的时间跨度算的这个值?
【答】:Incoming / OutgoingBytesPerSecond是指此使用者组中分区的事件的大致传入/传出速率(非100%精确,仅供参照)
Begin Sequence Number: 这个是在这个消费者组的视角下未被消费的消息的起始消息号吗?
【答】:Begin Sequence Number分区数据中开始获取的第一个事件的序列号(因为Event Hub中的数据会过期清理,所以里面会不会永久保存),所以该值也表示当前分区中现存事件的第一条消息序列号。
End Sequence Number: 这个是在这个消费者组的视角下未被消费的消息的结束消息号?
【答】: End Sequence Number分区数据中开始获取的最后一个事件的序列号就是结束序列号,所以该值也表示当前分区中现存事件中最后一条消息的序列号。
注:End Sequence Number - Begin Sequence Number = Total Message
如果Event Hub下有两个消费者组,一个Default,一个是自建的,两个消费者组看到的内容是一样的吗?
【答】:多个消费组所消费的EventHub数据是一样的。
衍生问题:
1) 在代码中设置了消费者组的 Checkpoint 保存位置,官方文档说EventHub的 Checkpoint 不保存在 Broker (服务端)上,由客户端指定保存位置。那是不是如果用多个客户端使用同一个消费者组消费,但是每个客户端设置的checkpoint存储位置都不一样,那么每个客户端都能成功消费到事件,但是实际还是各自消费,消费的事件是重复的?
【答】:是的,消费者组都是分别处理的,消费的事件是重复的。
2)消费端消费的时候,有一个start-position,可以取值EARLIEST和LATEST,如果消费端已经有了 Checkpoint ,这个start-position具体时什么时候起作用?
start-position:Whether the consumer receives messages from the beginning or end of event hub. if EARLIEST, from beginning. If LATEST, from end. Default: LATEST
【答】:Checkpoint 存储在 Storage Account中。它的目的是:如果读取者与分区断开连接,当它重新连接时,将开始读取前面由该使用者组中该分区的最后一个读取者提交的检查点(Checkpoint), 它会将此偏移量传递给事件中心,以指定要从其开始读取数据的位置。
start-position 连接分区进行消费时候,开始使用使用这个参数,如果设置为EARLIEST,就从start-position这个位置往前读,设置为LATEST就从start-position这个位置往后读。
Checkpoint 和 start-position 有个互斥关系,如果配了其中的某一个,另一个会被忽略。即
- 如果没有分区的checkpoint值,则从该事件位置开始接收也就是从start-position开始。
- 如果有,将使用checkpoint值开始再次消费事件。
参考资料:
Event Hub Consumer Properties:https://docs.microsoft.com/en-us/java/api/overview/azure/spring-cloud-stream-binder-eventhubs-readme?view=azure-java-stable#event-hub-consumer-properties
【Azure 事件中心】在Service Bus Explorer工具种查看到EventHub数据在分区中的各种属性问题的更多相关文章
- 【Azure 事件中心】Azure Event Hub 新功能尝试 -- 异地灾难恢复 (Geo-Disaster Recovery)
问题描述 关于Event Hub(事件中心)的灾备方案,大多数就是新建另外一个备用的Event Hub,当主Event Hub出现不可用的情况时,就需要切换到备Event Hub上. 而在切换的过程中 ...
- 【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
问题描述 在Application Gateway中,开启WAF(Web application firewall)后,现在需要把访问的日志输出到第三方分析代码中进行分析,如何来获取WAF的诊断日志呢 ...
- 【Azure 事件中心】Event Hub 无法连接,出现 Did not observe any item or terminal signal within 60000ms in 'flatMapMany' 的错误消息
问题描述 使用Java SDK连接Azure Event Hub,一直出现 java.util.concurrent.TimeoutException 异常, 消息为:java.util.concur ...
- 【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
问题描述 事件中心提供 Kafka 终结点,现有的基于 Kafka 的应用程序可将该终结点用作运行你自己的 Kafka 群集的替代方案. 事件中心可与许多现有 Kafka 应用程序配合使用.在Azur ...
- 【Azure 事件中心】EPH (EventProcessorHost) 消费端观察到多次Shutdown,LeaseLost的error信息,这是什么情况呢?
问题详情 使用EPH获取Event Hub数据时,多次出现连接shutdown和LeaseLost的error ,截取某一次的error log如: Time:2021-03-10 08:43:48 ...
- 【Azure 事件中心】使用Azure AD认证方式创建Event Hub Consume Client + 自定义Event Position
问题描述 当使用SDK连接到Azure Event Hub时,最常规的方式为使用连接字符串.这种做法参考官网文档就可成功完成代码:https://docs.azure.cn/zh-cn/event-h ...
- 【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
问题描述 在使用Azure Event Hub的SDK时候,常规情况下,发现示例代码中并没有SDK内部的日志输出.因为在Java项目中,没有添加 SLF4J 依赖,已致于在启动时候有如下提示: SLF ...
- 【Azure 事件中心】azure-spring-cloud-stream-binder-eventhubs客户端组件问题, 实践消息非顺序可达
问题描述 查阅了Azure的官方文档( 将事件发送到特定分区: https://docs.azure.cn/zh-cn/event-hubs/event-hubs-availability-and-c ...
- 【Azure 服务总线】详解Azure Service Bus SDK中接收消息时设置的maxConcurrentCalls,prefetchCount参数
(Azure Service Bus服务总线的两大类消息处理方式: 队列Queue和主题Topic) 问题描述 使用Service Bus作为企业消息代理,当有大量的数据堆积再Queue或Topic中 ...
随机推荐
- 在C++中调用Python
技术背景 虽然现在Python编程语言十分的火爆,但是实际上非要用一门语言去完成所有的任务,并不是说不可以,而是不合适.在一些特定的.对于性能要求比较高的场景,还是需要用到传统的C++来进行编程的.但 ...
- [刷题] 235 Lowest Common Ancestor of a Binary Search Tree
要求 给定一棵二分搜索树和两个节点,寻找这两个节点的最近公共祖先 示例 2和8的最近公共祖先是6 2和4的最近公共祖先是2 思路 p q<node node<p q p<=node& ...
- stressapptest测试用例testcase方法aarch64
### https://github.com/stressapptest/stressapptest aarch64 To build from source, the build/installat ...
- Linux_控制作业(管理)
一.作业控制 1.作业控制与回话 1️⃣:作业控制是shell的一种功能,它允许单个shell实例运行和管理多个命令 2️⃣:作业与在sehll提示符中输入的每个管道相关联.该管道中的所有进程均是作业 ...
- 一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程
一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程原创CrownP 最后发布于2019-02-05 00:48:30 阅读数 2982 收藏展开1.更改为阿里云的源点击软件和更新 点击其 ...
- 自用Chrome插件推荐【附教程及下载】
自用Chrome插件推荐[附教程及下载] 豆子 1,675 人赞同了该文章 2019.11.03更新 原文同步发布在我的个人博客 Chrome插件自用blog.douzi.work 都是我自己一 ...
- zabbix监控之概念和安装
一.为什么要要监控 (1)在需要的时刻,提前提醒我们服务器出问题了: (2)当出问题之后,可以找到问题的根源: (3)检查网站/服务器的可用性 1.监控范畴 硬件监控.系统监控.服务监控.性能监控.日 ...
- 10.11 arping:发送arp请求
arping命令 是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包检查局域网内所有设备的硬件地址. arping 命令的参数选项及说明 -c <次数> ...
- git&nodejs安装教程
git https://www.cnblogs.com/ximiaomiao/p/7140456.html nodejs https://jingyan.baidu.com/article/e7505 ...
- 学习Python中出现的错误集合(不定时更新)jupyter平台
出现的问题:1. 本图的错误,一个是line 7 init的两侧应该是是双下划线"__"导致所示错误 2. 本图的错误是 line 12 Student.student_tatal ...