【问题标题】:What happens to events in event hub after stream analytics does it works and routes them to service bus?在流分析工作并将它们路由到服务总线之后,事件中心中的事件会发生什么?
【发布时间】:2020-09-07 17:22:24
【问题描述】:

我有以下场景:

  1. 事件中心 (EH1) 配置了 7 天的保留策略。
  2. 生产者将事件发布到 EH1。
  3. 来自 EH1 的事件从流分析 (SA) 路由到服务总线(在 1 小时的时间窗口内执行某些计算之后),服务总线获取原始事件(作为消息)以及汇总计算。
  4. 假设在第 1 天的 24 小时内,生产者向 EH1 发布了 100 万个事件。
  5. SA 启动并将原始事件和汇总计算(超过 1 小时的周期)路由到服务总线。
  6. 假设在第 1 天之后,接下来的 15 天没有事件推送到 EH1。

问题:

  1. 100 万个原始事件(从第 1 天开始)会在 EH1 中保留多长时间?
  2. 这 100 万个原始事件(从第 1 天开始)在第 2 天(第 1 小时后)到第 7 天是否仍然存在(因为保留策略为 7)?或者当 SA 处理完所有这些事件后,它们会在第 1 天后消失吗?如果两者都没有,还会发生什么?
  3. 我应该在 EH1 中查看哪些指标来证明 (1) 和 (2) 的答案是什么?

【问题讨论】:

    标签: azure azure-eventhub azure-stream-analytics


    【解决方案1】:

    首先,你应该先看看consumer group

    简而言之,当消费者(如任何用于从 eventthub 接收事件的应用程序或代码)读取事件时,它必须通过消费者组读取事件(我们在这里将其命名为 cg_1)-> 然后为下一个时间,你再次从cg_1读取事件,这些事件(你已经读取)将不会被再次读取。

    但是如果你切换到另一个消费者组(比如你新创建一个名为cg_2的消费者组),你可以再次读取所有数据(即使数据已经从cg_1读取)。

    所以对于你的问题:

    #1: 由于您配置了 7 天的保留策略,因此事件(原始数据)将在 eventthub 中保留 7 天。如果事件已通过消费者组接收,则无法通过该消费者组再次接收。但是你可以使用另一个消费者组再次接收数据。

    #2: 与问题 1 类似,原始事件将根据您配置的保留天数存储在 eventthub 中。

    #没有这样的指标,但是你可以很容易地编写客户端代码,并创建一个新的消费者组,然后读取数据以检查它是否存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-26
      • 2020-01-04
      • 2017-07-01
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多