【Azure 事件中心】在Service Bus Explorer工具中查看到EventHub数据在分区中的6种属性问题

简介: 【Azure 事件中心】在Service Bus Explorer工具中查看到EventHub数据在分区中的6种属性问题

问题描述

通过Service Bus Explorer工具,查看到Event Hub的属性值,从而产生的问题及讨论:

  1. Size in Bytes:   这个是表示当前分区可以存储的最大字节数吗?
  2. LastEnqueuedOffset:   这个是表示是最后一条消息在这个分区上的字节偏移量吗?
  3. Incoming / OutgoingBytesPerSecond:   这两个值是0,是按照多长的时间跨度算的这个值?
  4. Begin Sequence Number:  这个是在这个消费者组的视角下未被消费的消息的起始消息号吗?
  5. End Sequence Number:   这个是在这个消费者组的视角下未被消费的消息的结束消息号?
  6. 如果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

相关文章
|
3月前
|
JSON API 开发工具
【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改
【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改
|
3月前
|
安全 Windows
【Azure 云服务】Azure Cloud Service中的错误事件 Error Event(Defrag/Perflib) 解答
【Azure 云服务】Azure Cloud Service中的错误事件 Error Event(Defrag/Perflib) 解答
|
3月前
|
缓存 API Windows
【服务总线 Azure Service Bus】Service Bus在使用预提取(prefetching)后出现Microsoft.Azure.ServiceBus.MessageLockLostException异常问题
【服务总线 Azure Service Bus】Service Bus在使用预提取(prefetching)后出现Microsoft.Azure.ServiceBus.MessageLockLostException异常问题
|
3月前
|
Linux API 网络架构
【Azure 事件中心】通过 az rest --method get 如何获得Event Hub Entity 级的统计指标
【Azure 事件中心】通过 az rest --method get 如何获得Event Hub Entity 级的统计指标
|
3月前
|
JavaScript 网络协议 API
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
|
3月前
|
缓存 Java API
【Azure 服务总线】详解Azure Service Bus SDK中接收消息时设置的maxConcurrentCalls,prefetchCount参数
【Azure 服务总线】详解Azure Service Bus SDK中接收消息时设置的maxConcurrentCalls,prefetchCount参数
|
3月前
|
开发工具 Python
【Azure 服务总线】如何批量删除Azure Service Bus中的Topics(数量较多,需要过滤后批量删除)
【Azure 服务总线】如何批量删除Azure Service Bus中的Topics(数量较多,需要过滤后批量删除)
|
3月前
|
网络安全
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
|
3月前
|
API
【Azure 应用服务】在App Service中调用外部服务API时需要携带客户端证书,而多次调用的情况下会出现WindowsCryptographicException Keyset does not exist异常
【Azure 应用服务】在App Service中调用外部服务API时需要携带客户端证书,而多次调用的情况下会出现WindowsCryptographicException Keyset does not exist异常
|
3月前
|
API 开发者
【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问
【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问
下一篇
无影云桌面