开源 Webhook 网关,用于接收、存储、投递和调试 Webhook 事件,支持重试、限流和熔断。
- Star
- 3,475
- Fork
- 299
- 未关闭 Issue
- 64
- 最近提交
- 22小时前
这是什么?
Svix 是一个面向需要向客户发送 Webhook 的团队的服务。开发者只需调用一次 API 发布事件,服务便会负责投递到每个已订阅的端点,并处理重试、载荷签名和投递状态追踪。
服务端使用 Rust 编写,可以作为独立二进制文件或 Docker 容器运行。事件存储依赖 PostgreSQL,任务队列和缓存可选用 Redis。配置既可以通过 TOML 文件,也可以通过环境变量完成。签名方式支持对称密钥(每个端点一个密钥)和非对称的 ed25519,默认使用对称方式。重试耗尽的失败任务会进入死信队列,并可通过管理接口重新投递。
项目提供 Go、Python、TypeScript/JavaScript、Java、Kotlin、Ruby、C#、Rust、PHP 的客户端库,还有 Terraform Provider 和通过 npm 分发的 CLI。服务端支持通过 OpenTelemetry 导出追踪、指标和日志。
核心功能
- 01发布方只需一次 API 调用即可发送 Webhook。
- 02自动处理重试,并按端点追踪投递状态。
- 03默认使用对称密钥签名,也可选用 ed25519 非对称签名。
- 04使用 PostgreSQL 存储事件,使用 Redis 作为任务队列。
- 05提供死信队列,可通过管理接口重新投递失败任务。
- 06支持通过 OpenTelemetry 导出追踪、指标和日志。
适用场景
- 为 SaaS 产品增加面向客户的出站 Webhook 通知。
- 替代自研且需要重试和签名的 Webhook 分发模块。
- 基于 PostgreSQL 和 Redis 自建 Webhook 投递服务。
- 在后端通过官方客户端库发送事件通知。
快速上手
- 1
无需安装即可试用 Svix CLI
npx svix-cli --help - 2
进入仓库中的 server 目录
cd server - 3
使用 Docker Compose 启动服务器,同时会启动 Redis 和 PostgreSQL
docker compose up
使用前须知
- 服务器需要 PostgreSQL 数据库;Redis 是可选的,但推荐用于任务队列。
- Redis 必须启用持久化并配置为不驱逐键的策略,自托管需要额外的配置工作。
标签
常见问题
- svix-webhooks 是什么?
- 用 Rust 编写的开源 Webhook 发送服务,负责投递、重试和签名,开发者只需一次 API 调用即可发出 Webhook。 Svix 是一个面向需要向客户发送 Webhook 的团队的服务。开发者只需调用一次 API 发布事件,服务便会负责投递到每个已订阅的端点,并处理重试、载荷签名和投递状态追踪。
- svix-webhooks 可以免费使用吗?用的什么许可证?
- svix-webhooks 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- svix-webhooks 还在维护吗?
- 活跃维护中。svix-webhooks 最近一次提交是在 2026年11月6日。
- svix-webhooks 适合用来做什么?
- 为 SaaS 产品增加面向客户的出站 Webhook 通知。 替代自研且需要重试和签名的 Webhook 分发模块。 基于 PostgreSQL 和 Redis 自建 Webhook 投递服务。 在后端通过官方客户端库发送事件通知。
- svix-webhooks 怎么安装和运行?
- 无需安装即可试用 Svix CLI: npx svix-cli --help 进入仓库中的 server 目录: cd server 使用 Docker Compose 启动服务器,同时会启动 Redis 和 PostgreSQL: docker compose up
- 在哪里获取 svix-webhooks?
- 源代码和安装说明在 GitHub 上:https://github.com/svix/svix-webhooks
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
兼容 Kafka API 的流式数据平台,用 C++ 编写,无需 ZooKeeper 和 JVM。
NSQ 是一个实时分布式消息平台,设计用于大规模消息处理,无单点故障。
一个可移植的运行时,通过 sidecar 为分布式应用和 AI 智能体提供持久化工作流、安全通信、状态管理和发布订阅。
可在 Serverless、服务器或边缘环境运行的持久化工作流引擎,支持带步骤的函数与 AI 工作流。
一个 Go 语言库,用统一的发布/订阅接口构建事件驱动应用,支持 Kafka、RabbitMQ、NATS、SQL 等多种消息后端。