Webhook触发
Webhook Trigger System
外部事件触发工作流执行的Webhook系统
子问题
1.Webhook URL生成与管理
2.请求认证与安全
3.执行记录与数据脱敏
4.外部平台集成
5.双维度限流(RPM + Daily)与标准响应头
6.请求指纹去重与幂等保护
7.Redis 故障时的优雅降级策略
各项目的解法1 solutions
Signals
横向对比
| 维度 | Refly |
|---|---|
| 触发模式 | Fire-and-Forget 异步触发,立即返回 received 确认 |
| 认证方式 | 双通道:webhookId 即密钥(公开端点)+ API Key Bearer(管理端点) |
| 限流策略 | Redis 双维度计数器 RPM(100/min) + Daily(10000/day),含标准响应头 |
| 去重机制 | MD5(uid+webhookId+body) 指纹 + Redis SETNX 1s TTL |
| 审计追踪 | NestJS Interceptor + RxJS tap/catchError 自动记录,数据脱敏后持久化 |
| 缓存策略 | Redis 5min TTL 缓存 webhook 配置,变更时主动清除 |
| 优雅降级 | Redis 故障时 Guard 放行,不阻塞正常请求 |
最佳实践
1.Redis缓存webhook配置减少数据库查询
2.Guard 管道分离安全关注点,每层可独立测试和替换
3.Interceptor 层自动审计,业务代码零侵入
4.敏感数据脱敏后再持久化,保留前4字符便于调试