使用 AWS Durable Functions 监控第三方 Webhook 延迟

发布: (2026年1月1日 GMT+8 04:49)
2 分钟阅读
原文: Dev.to

Source: Dev.to

概览

在本博客中,我解释了我们如何使用 Azure Durable Functions(实际是 AWS Step Functions 的等价实现)来监控第三方 webhook 的延迟。与外部服务集成时,webhook 通知并不总是立即到达——有时甚至根本不到达。我们需要对以下情况拥有可视性:

  • webhook 是否真的到达
  • 它们到达我们系统所需的时间

架构

该解决方案由三个主要组件组成:

  1. API Gateway → Lambda – Lambda 向第三方服务发起请求,通过向 EventBridge 发送事件来启动 Durable Function,并向客户端返回同步响应。

    API Gateway to Lambda flow

  2. Durable Function – 生成 callbackId,将回调元数据存入 DynamoDB,然后等待回调完成。这使我们能够知道 webhook 通知是否到达,以及如果到达,耗时多久。

    Durable Function flow

  3. API Gateway → SQS → Webhook 处理 Lambda – Webhook 处理程序从第三方消费通知,检索关联的 callbackId,并恢复 Durable Function 的执行。使用 SQS 可以防止在 Durable Function 启动之前 webhook 已经到达而导致的竞争条件。

    Webhook handler flow

监控

所有交互均通过 AWS X‑Ray 进行追踪。你还可以创建 CloudWatch 仪表盘 来可视化 webhook 到达的平均时间。

CloudWatch dashboard example

结论

通过组合 API Gateway、Lambda、EventBridge、DynamoDB、SQS 和 Durable Functions,我们获得了对第三方 webhook 投递时间的可靠可视性,并确保系统能够优雅地处理延迟或缺失的通知。

感谢阅读。

Back to Blog

相关文章

阅读更多 »

RGB LED 支线任务 💡

markdown !Jennifer Davishttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%...

Mendex:我为何构建

介绍 大家好。今天我想分享一下我是谁、我在构建什么以及为什么。 早期职业生涯与倦怠 我在 17 年前开始我的 developer 生涯……