Открытый шлюз вебхуков для приема, хранения, доставки и отладки событий с повторами, ограничением частоты и размыканием цепи.
svix/svix-webhooks
Сервис отправки вебхуков с открытым исходным кодом, написанный на Rust: он отвечает за доставку, повторные попытки и подпись, чтобы разработчики могли отправлять вебхуки одним вызовом API.
Open source альтернатива:Svix Cloud
- Звёзды
- 3,475
- Форки
- 299
- Открытые issues
- 64
- Последний коммит
- 20 часов назад
Что это?
Svix — сервис вебхуков для команд, которым нужно отправлять вебхуки своим клиентам. Разработчик вызывает API один раз, чтобы опубликовать событие, а сервис доставляет его на каждый подписанный endpoint, повторяет попытки, подписывает payload и отслеживает статус доставки.
Сервер написан на Rust и запускается как отдельный бинарный файл или Docker-контейнер. Для хранения событий требуется PostgreSQL, а для очереди задач и кеша можно использовать Redis или другие бэкенды очередей. Настройки задаются в TOML-файле или через переменные окружения. Поддерживаются симметричные схемы подписи (в стиле HMAC, с секретами для каждого endpoint) и асимметричные подписи ed25519; по умолчанию используется симметричная схема. Задачи, исчерпавшие число повторных попыток, попадают в dead letter queue, откуда их можно повторно запустить через admin endpoint.
Клиентские библиотеки доступны для Go, Python, TypeScript/JavaScript, Java, Kotlin, Ruby, C#, Rust и PHP. Также есть Terraform provider и CLI, распространяемый через npm. В репозитории представлены реализация DLQ на Redis и опциональный экспорт трейсов, метрик и логов через OpenTelemetry.
Ключевые возможности
- 01Отправляет вебхуки одним вызовом API со стороны издателя.
- 02Повторяет попытки доставки и отслеживает статус для каждого endpoint.
- 03По умолчанию подписывает payload симметричными ключами; также поддерживаются асимметричные подписи ed25519.
- 04Поддерживает PostgreSQL для хранения данных и Redis для очереди задач.
- 05Предоставляет dead letter queue и admin endpoint для повторного запуска задач, завершившихся ошибкой.
- 06Экспортирует трейсы, метрики и логи через OpenTelemetry.
Сценарии использования
- Добавление исходящих уведомлений через вебхуки в SaaS-продукт для интеграций с клиентами.
- Замена самописного диспетчера вебхуков, которому нужны повторные попытки и подпись.
- Самостоятельное развертывание конвейера доставки вебхуков с PostgreSQL и Redis.
- Отправка уведомлений о событиях из бэкенда с помощью одной из предоставленных клиентских библиотек.
Быстрый старт
- 1
Попробуйте Svix CLI без установки
npx svix-cli --help - 2
Перейдите в каталог server в репозитории
cd server - 3
Запустите сервер с помощью Docker Compose — он также запустит Redis и PostgreSQL
docker compose up
Что важно знать
- Для сервера нужна база данных PostgreSQL. Redis необязателен, но рекомендуется для очереди задач.
- Для Redis нужно настроить сохранение данных и политику eviction, которая не вытесняет ключи. Это усложняет самостоятельный хостинг.
Темы
Частые вопросы
- Что такое svix-webhooks?
- Сервис отправки вебхуков с открытым исходным кодом, написанный на Rust: он отвечает за доставку, повторные попытки и подпись, чтобы разработчики могли отправлять вебхуки одним вызовом API. Svix — сервис вебхуков для команд, которым нужно отправлять вебхуки своим клиентам. Разработчик вызывает API один раз, чтобы опубликовать событие, а сервис доставляет его на каждый подписанный endpoint, повторяет попытки, подписывает payload и отслеживает статус доставки.
- svix-webhooks можно использовать бесплатно? Какая у него лицензия?
- svix-webhooks распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- svix-webhooks всё ещё поддерживается?
- Активно поддерживается. Последний коммит в svix-webhooks — 6 нояб. 2026 г..
- Для чего можно использовать svix-webhooks?
- Добавление исходящих уведомлений через вебхуки в SaaS-продукт для интеграций с клиентами. Замена самописного диспетчера вебхуков, которому нужны повторные попытки и подпись. Самостоятельное развертывание конвейера доставки вебхуков с PostgreSQL и Redis. Отправка уведомлений о событиях из бэкенда с помощью одной из предоставленных клиентских библиотек.
- Как установить 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 проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Платформа потоковой обработки данных на C++, совместимая с Kafka API и работающая без ZooKeeper и JVM.
NSQ — распределённая платформа обмена сообщениями в реальном времени, рассчитанная на очень высокий поток сообщений и не имеющая единой точки отказа.
Переносимый runtime для распределённых приложений и AI-агентов: надёжные workflow, безопасное взаимодействие сервисов, управление состоянием и pub/sub через sidecar.
Надёжный движок workflow для запуска пошаговых функций, фоновых задач и AI-workflow на serverless-платформах, серверах и edge-инфраструктуре — с повторами и управлением потоком выполнения.
Библиотека на Go для создания событийно-ориентированных приложений с единым интерфейсом Publisher/Subscriber для Kafka, RabbitMQ, NATS, SQL и других систем.