再試行、レート制限、サーキットブレーカーを備え、Webhookイベントの受信、永続化、配信、デバッグを行うオープンソースのWebhookゲートウェイ。
svix/svix-webhooks
Rust製のオープンソースWebhook送信サービス。配信、再試行、署名を担い、APIを1回呼び出すだけでWebhookを送信できます。
代替できる製品:Svix Cloud
- スター
- 3,475
- フォーク
- 299
- 未解決の Issue
- 64
- 最終コミット
- 22 時間前
これは何?
Svixは、顧客にWebhookを送信したいチーム向けのWebhookサービスです。開発者がイベントを公開するAPIを1回呼び出すと、サービスが購読中の各エンドポイントへの配信を処理します。再試行、ペイロードへの署名、配信状況の追跡にも対応しています。
サーバーはRust製で、単独のバイナリまたはDockerコンテナとして実行できます。イベントの保存にはPostgreSQLが必要で、タスクキューやキャッシュにはRedisなどのキューバックエンドを任意で利用できます。設定はTOMLファイルまたは環境変数で行います。署名方式として、対称鍵(エンドポイントごとのシークレットを使うHMAC形式)と非対称鍵のed25519をサポートし、デフォルトでは対称鍵を使用します。再試行を使い切った失敗タスクはデッドレターキューに送られ、管理者用エンドポイントから再処理できます。
Go、Python、TypeScript/JavaScript、Java、Kotlin、Ruby、C#、Rust、PHP向けのクライアントライブラリに加え、Terraformプロバイダーとnpmで配布されるCLIを提供しています。リポジトリにはRedisキュー向けのDLQ実装も含まれ、OpenTelemetryによるトレース、メトリクス、ログのエクスポートにも対応しています。
主な機能
- 01送信元からAPIを1回呼び出すだけでWebhookを送信できます。
- 02各エンドポイントへの配信を再試行し、配信状況を追跡します。
- 03デフォルトでは対称鍵でペイロードに署名し、オプションで非対称鍵のed25519署名も利用できます。
- 04ストレージにPostgreSQL、タスクキューにRedisを利用できます。
- 05デッドレターキューを備え、管理者用エンドポイントから失敗タスクを再処理できます。
- 06OpenTelemetry経由でトレース、メトリクス、ログをエクスポートできます。
ユースケース
- 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 は永続化と、キーを退避しない eviction policy を設定する必要があるため、セルフホスティングの手間が増えます。
トピック
よくある質問
- svix-webhooks とは?
- Rust製のオープンソースWebhook送信サービス。配信、再試行、署名を担い、APIを1回呼び出すだけでWebhookを送信できます。 Svixは、顧客にWebhookを送信したいチーム向けのWebhookサービスです。開発者がイベントを公開するAPIを1回呼び出すと、サービスが購読中の各エンドポイントへの配信を処理します。再試行、ペイロードへの署名、配信状況の追跡にも対応しています。
- 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
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ZooKeeperやJVMなしで動作する、C++製のKafka API互換ストリーミングデータプラットフォーム。
NSQは、単一障害点を持たずに非常に大量のメッセージを処理できるよう設計された、リアルタイム分散メッセージングプラットフォームです。
サイドカーを通じて、分散アプリケーションやAIエージェントに耐障害性のあるワークフロー、サービス間セキュリティ、状態管理、Pub/Subを提供するポータブルなランタイムです。
リトライとフロー制御に対応し、サーバーレス、サーバー、エッジでステップ関数、バックグラウンドジョブ、AIワークフローを実行する耐久性の高いワークフローエンジン。
Kafka、RabbitMQ、NATS、SQLなどを共通のPublisher/Subscriberインターフェースで扱える、イベント駆動アプリケーション構築用のGoライブラリです。