
getconvoy/convoy!convoy image
Convoy 是一款开源高性能 webhooks 网关,用于安全摄入、持久化、调试、交付和可靠管理数百万事件,具备重试、限流、静态 IP、熔断、滚动密钥等丰富功能。作为云原生解决方案,它部署在网络边缘,保护内部系统不暴露于公网,同时提供可独立扩展的组件以满足不同规模需求。
Webhooks 网关
部署在网络边缘,可从微服务流式传输 webhooks 并发送给用户,同时接收来自服务提供商的 webhooks 并路由到所需服务,确保内部系统不暴露于公网。
可扩展性
作为 webhooks 的专用消息队列,设计为水平可扩展。包含 api server、workers、scheduler 和 socket server 等组件,可独立扩展以满足业务需求。
安全性
内置多种安全特性,包括 payload 签名确保消息完整性、Bearer Token 认证用于已认证端点,以及静态 IP 支持严格防火墙环境。
扇出(Fan Out)
支持根据事件类型或 payload 结构将单个事件路由到多个目标端点。
限流(Rate Limiting)
可高速摄入事件,同时按每个端点的可配置速率限制事件向端点的交付频率。
重试与批量重试
提供恒定时间重试和带抖动的指数退避重试算法;当自动重试不足时,支持对连续失败端点进行批量重试。
用户面向仪表盘
支持生成嵌入式仪表盘(通过 iframe),用户可调试 webhooks、重试事件、管理端点及配置订阅。
端点故障通知
端点连续失败时自动禁用并发送通知,支持电子邮件和 Slack 两种通知渠道。
Convoy 适用于以下场景:
Convoy 支持通过环境变量或配置文件配置,关键配置包括:
CONVOY_DATABASE_URL)PORT,默认 8080)LOG_LEVEL,默认 info)CONVOY_API_KEY)详细配置说明参见 官方文档。
bashdocker run -d \ --name convoy \ -p 8080:8080 \ -e CONVOY_DATABASE_URL="postgresql://user:password@postgres-host:5432/convoy?sslmode=disable" \ -e CONVOY_API_KEY="your-secure-api-key" \ frain-dev/convoy:latest
yamlversion: '3.8' services: convoy: image: frain-dev/convoy:latest ports: - "8080:8080" environment: - CONVOY_DATABASE_URL=postgresql://convoy:convoy-pass@db:5432/convoy?sslmode=disable - CONVOY_API_KEY=your-secure-api-key - LOG_LEVEL=info depends_on: - db restart: unless-stopped db: image: postgres:14-alpine environment: - POSTGRES_USER=convoy - POSTGRES_PASSWORD=convoy-pass - POSTGRES_DB=convoy volumes: - postgres-data:/var/lib/postgresql/data restart: unless-stopped volumes: postgres-data:
启动服务:
bashdocker-compose up -d
本镜像基于 Elastic License v2.0 许可。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务