gpt4 book ai didi

azure - 如何处理 Azure Event Hub 中的数据处理失败?

转载 作者:行者123 更新时间:2023-12-03 01:22:35 25 4
gpt4 key购买 nike

我们计划利用事件中心进行物联网设备数据流和处理。我们已经准备好架构,但我们看到的唯一挑战是故障重新处理。下面是示例,

  1. IoT 设备将数据发送(通过 IoT 中心)到事件中心。事件中心读取器正在将数据推送到数据库。
  2. 如果我们的处理器因某种原因发生故障(不是针对所有遥测,而是针对错误数据),我们希望单独捕获这些事件。
  3. 事件中心能够设置检查点,但这会在事件中心事件中标记,而不是针对特定事件。
  4. 我们只想记录处理过程中失败的事件,并希望为此类事件实现重新处理逻辑。

有同样的想法吗?

最佳答案

事件中心旨在作为只进流读取,一旦应用程序读取事件,它就会以适合应用程序上下文的方式处理该事件。

由于事件中心优先考虑高吞吐量,因此该服务故意不提供一组丰富的代理端功能,从而将更多责任委托(delegate)给消费应用程序。不幸的是,这包括对死信或标记一组随机事件的支持。

正如 Peter 提到的,服务总线可能更适合您的场景,并且将事件从事件中心复制到服务总线中进行处理将为您提供内置的死信支持以及其他功能,简化您的应用程序逻辑。 This article提供了 Azure 消息传递产品的良好比较,供您考虑。

如果您打算使用事件中心,Peter 建议将有害/故障事件移动到另一个存储平台(消息队列、数据库等),这是推荐的模式。这将使您可以将它们作为一组重新访问,并在处理完它们后将其删除。

另一种方法是仅记录事件的分区和偏移量,然后使用 EventHubConsumerClientPartitionReceiver 稍后读取该数据,但这样就不行了这是一种低效的模式,需要大量的临时对象和网络开销。

关于azure - 如何处理 Azure Event Hub 中的数据处理失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68812996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com