Repolode
frain-dev

frain-dev/convoy

开源 Webhook 网关,用于接收、存储、投递和调试 Webhook 事件,支持重试、限流和熔断。

可替代:SvixHookdeck

Star
2,889
Fork
188
未关闭 Issue
45
最近提交
前天

这是什么?

Convoy 是一个部署在网络边缘的 Webhook 网关。它既可以接收第三方服务商推送的 Webhook 并路由到内部服务,也可以将内部系统的 Webhook 推送给外部客户端,使内部服务无需直接暴露在公网上。

在投递环节,Convoy 可以按端点设置限流,失败后支持固定间隔或带抖动的指数退避重试,并为反复失败的端点提供批量重试。端点连续失败时会触发熔断,恢复前先探测,并可通过邮件、Slack 或 Microsoft Teams 发送通知。订阅规则支持按请求体、请求头、查询参数和路径过滤,投递前还可运行 JavaScript 转换。

项目由 server 和 agent 两个可独立扩展的组件构成。它还提供可通过 iframe 嵌入的面向客户的 Webhook 仪表盘,并基于 OpenAPI 规范生成 Go、Python、JavaScript、Ruby、PHP 和 Java 的 SDK,支持 Docker 与 Helm 部署。

核心功能

  • 01接收服务商的入站 Webhook 并路由到内部服务
  • 02出站投递支持按端点限流和可配置的重试策略
  • 03熔断机制,恢复流量前先探测失败的端点
  • 04按事件类型或载荷将单个事件扇出到多个端点
  • 05支持载荷签名、Bearer Token、OAuth2 和 mTLS
  • 06可按元数据、JSON 载荷和幂等键搜索事件

适用场景

  • 在不暴露内部服务的前提下,将第三方服务商的 Webhook 转发到内部微服务
  • 将 SaaS 产品的 Webhook 可靠地投递给客户端点,并支持重试与监控
  • 为客户提供自助仪表盘,用于调试和重放 Webhook 事件

快速上手

  1. 1

    打开 README 中的 Docker 安装指南

  2. 2

    或者按照 README 中的 Kubernetes 与 Helm 安装指南操作

使用前须知

  • 采用 Elastic License v2.0 许可,属于源码可见而非 OSI 定义的开源许可,并且限制将其作为托管服务提供。
  • 基于 Postgres 的队列选项处于实验阶段,且需要许可证。
  • 免费的社区版仅限一个用户、一个组织和两个项目。

收录于专题

标签

常见问题

convoy 是什么?
开源 Webhook 网关,用于接收、存储、投递和调试 Webhook 事件,支持重试、限流和熔断。 Convoy 是一个部署在网络边缘的 Webhook 网关。它既可以接收第三方服务商推送的 Webhook 并路由到内部服务,也可以将内部系统的 Webhook 推送给外部客户端,使内部服务无需直接暴露在公网上。
convoy 可以免费使用吗?用的什么许可证?
convoy 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
convoy 还在维护吗?
活跃维护中。convoy 最近一次提交是在 2026年11月5日。
convoy 适合用来做什么?
在不暴露内部服务的前提下,将第三方服务商的 Webhook 转发到内部微服务 将 SaaS 产品的 Webhook 可靠地投递给客户端点,并支持重试与监控 为客户提供自助仪表盘,用于调试和重放 Webhook 事件
convoy 怎么安装和运行?
打开 README 中的 Docker 安装指南 或者按照 README 中的 Kubernetes 与 Helm 安装指南操作
在哪里获取 convoy?
源代码和安装说明在 GitHub 上:https://github.com/frain-dev/convoy

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目