比方说,当处理来自Azure EventHub的批量事件时发生瞬时故障,即使在重试后瞬时故障仍在继续,那么可以从处理器向EventHub抛出什么类型的异常?以便Azure EventHub能够再次将同一批事件发送(重播)到同一处理器示例(无需向前移动检查指针)进行重新处理。软件包“Microsoft.Azure.WebJobs.扩展.事件中心”版本=“5.1.2”Azure函数是在AKS上运行的客户端,具有KEDA扩展配置
w8f9ii691#
简而言之a-您的代码不会抛出任何异常来停止Azure Function应用中的检查点操作。函数有一个独特的模型,因为检查点是自动的,无论正在执行的处理代码成功还是失败,它都会向前移动。当函数遇到无法处理事件的错误时,最常见的模式是将其废弃,以便其他应用程序可以在将来重新访问并处理它。更多详细信息和其他要考虑的模式可以在文章弹性事件中心和函数设计中找到。如果这些方法在您的应用程序场景中都不起作用,那么您最好的方法可能是考虑不使用Functions作为主机平台,而是直接在应用程序中使用事件处理器,这样您就可以完全控制检查点何时发出。
1条答案
按热度按时间w8f9ii691#
简而言之a-您的代码不会抛出任何异常来停止Azure Function应用中的检查点操作。
函数有一个独特的模型,因为检查点是自动的,无论正在执行的处理代码成功还是失败,它都会向前移动。
当函数遇到无法处理事件的错误时,最常见的模式是将其废弃,以便其他应用程序可以在将来重新访问并处理它。更多详细信息和其他要考虑的模式可以在文章弹性事件中心和函数设计中找到。
如果这些方法在您的应用程序场景中都不起作用,那么您最好的方法可能是考虑不使用Functions作为主机平台,而是直接在应用程序中使用事件处理器,这样您就可以完全控制检查点何时发出。