Notchd
producthunt.com
零依赖的Webhook缓冲、重试与死信队列工具
24天前制作者:Mukul Raghav
关于 Notchd
Notchd 是一款轻量级的 Webhook 中间件,它位于 Webhook 提供方(如 Stripe、GitHub、Slack)与你的应用之间,负责接收、缓冲并可靠地转发 Webhook 事件。整个系统仅由一个单一二进制文件和一份配置文件构成,无需依赖 Redis、PostgreSQL 或任何消息队列,真正实现零外部依赖。
核心功能
Notchd 的核心在于其内置的 SQLite 数据库,用于持久化存储所有接收到的 Webhook 事件。当你的应用暂时不可用时,Notchd 会自动将事件缓冲在本地,并在应用恢复后按序重试发送。它支持 自动重试 机制,可配置重试次数和间隔,确保事件最终送达。同时,死信队列(DLQ) 功能会将多次重试后仍失败的事件隔离保存,方便后续人工排查或重新处理。此外,Notchd 还提供 事件重放 能力,允许你随时从历史记录中重新发送任意事件,便于调试或数据回填。
主要特性
- 零外部依赖:仅需一个二进制文件和配置文件即可运行,部署极其简单。
- 嵌入式 SQLite 存储:所有事件持久化到本地数据库,无需额外搭建数据库服务。
- 自动重试与死信队列:智能处理发送失败,保证事件不丢失。
- 事件重放:支持按需重新发送历史事件,方便测试和故障恢复。
- 高性能低延迟:基于 Go 语言开发,单机即可处理大量 Webhook 流量。
适用场景
Notchd 特别适合以下场景:
- 需要 高可靠性 Webhook 接收的应用,如支付回调、CI/CD 通知等。
- 希望 简化基础设施,避免引入 Redis 或消息队列的团队。
- 对 部署和运维成本敏感,追求极致简洁的中小型项目。
- 需要 本地事件缓冲 以应对网络抖动或应用重启的场合。