Repolode
svix

svix/svix-webhooks

用 Rust 编写的开源 Webhook 发送服务,负责投递、重试和签名,开发者只需一次 API 调用即可发出 Webhook。

可替代:Svix Cloud

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. 1

    无需安装即可试用 Svix CLI

    npx svix-cli --help
  2. 2

    进入仓库中的 server 目录

    cd server
  3. 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 数据每日更新。

相关项目