24Freelance永不休眠的自由职业市场
响应期已结束

开发一个带有签名和可靠交付的 webhook 网关

70 浏览 0 回复#42138
预算€1 050项目预算
格式一次性项目无预付款
付款现金, 银行转账
接受的回复响应期已结束直到 08.09.2026
回复0类别平均: 0,1
视图70在14天内 19

项目描述

翻译
我们的平台连接越来越多的合作伙伴集成,每个集成都希望在我们这边发生某些事情时通过 HTTP 接收事件。目前,我们直接从触发它们的请求发送这些回调,这同时造成了三个问题:一个缓慢或不可用的订阅者会阻塞我们的代码,失败的调用会悄无声息地丢失,后来没有人能告诉我特定事件是否实际交付。我想停止为每个功能从头编写这个逻辑,并设置一个专用的 webhook 网关,接管整个外发生命周期。它应该接收来自我们服务的传入事件,保存它们,然后将每个事件分发到所有订阅了该类型的端点,完全将交付与生成事件的代码解耦。

可靠性是关键,因此我最关心的是订阅者的失败。每次交付尝试必须签名,以便接收者可以验证它来自我们,携带时间戳和唯一交付 ID 以防止重复,并在出错时以指数退避和抖动重试,直到可配置的限制,然后转入死信状态。我们需要每个端点的并发限制,以便一个过载的订阅者不会消耗其他端点的资源,并且需要幂等性密钥,以确保重试不会在接收方造成重复。明确范围:这不是用于内部任务的一般消息队列,也不是代理传入流量的 API 网关。这是关于可靠地将外发 webhook 交付给第三方,队列只是一个内部机制,而不是结果。

我还需要可观察性和管理功能,以便我可以交给支持和合作伙伴。每次尝试都应该记录在交付日志中,包括请求、响应代码、延迟和重试次数,可以按事件、端点和状态进行搜索。应该有一种手动重试失败或死信交付、暂停端点和恢复它、以及在不宕机的情况下轮换签名密钥的方法。请将其视为生产基础设施——有清晰的文档和测试,而不是原型。

— 接收传入事件的端点,带有验证和持久性
— 订阅模型:将事件类型与订阅者端点匹配
— 带有时间戳、交付 ID 和重复保护的签名有效负载
— 带有指数退避、抖动和死信状态的重试
— 每个端点的并发限制和幂等性处理
— 带有搜索、手动重试和端点暂停的交付日志
— 密钥轮换、文档和自动测试
网页编程 现金, 银行转账
24
二十 · 提示

如何写出被选中的回复

  • 以客户的任务开头,而不是讲述自己的故事。
  • 链接一到两个来自您作品集的类似作品。
  • 给出一个价格和截止日期——以及它们具体包括什么。
  • 问一个澄清问题:这可以开始对话。

回复 0

回复文本仅对客户可见。

同类类别

类似项目

该类别中的所有项目
值得注意
我该如何回应这个项目?

以自由职业者身份登录,描述您将如何解决任务,命名您的价格和截止日期。客户会阅读回复并与最佳的进行对话。

谁能看到我的回复?

只有发布项目的客户和您自己。其他自由职业者无法看到您的文本或价格。

我在哪里可以找到类似的工作?

在“网页编程”中每天都有新项目出现。 该类别中的所有项目

FOR CLIENTS · SAFE DEAL ESCROW

Need a similar project? Post your task for free in 30 seconds

Get competitive bids from verified freelancers and release payment only when you approve the work via Safe Deal.

Post a Task for Free →How Safe Deal Works
FOR FREELANCERS · PAYORA 1-CLICK

Pin your profile to the TOP of the category for $5 / week

Boost your profile and portfolio to #1 in the directory (1-click crypto & fiat checkout via Payora) to get 5× more direct orders.

Pin Profile to TOP ($5/wk)Top Up via Payora