3作者: alexbouchard7 个月前原帖
大家好,我们推出了 Outpost,这是一个开源的、自托管的组件,旨在处理 SaaS/API 平台的出站事件传递。 如果您正在构建一个平台,最终需要向用户发送事件(例如支付成功、资源更新、工作流变更)。可靠地实现这一点——处理重试、监控、扩展、为消费者提供良好的开发体验以及管理租户——成为了一项重要的、重复的工程任务,这会分散核心产品开发的注意力。我们构建 Outpost 来减轻这种复杂性。 Outpost 通过传统的 Webhook 和直接发送到事件目的地(如消息队列和总线)来传递事件。虽然 Webhook 无处不在,但在规模化时存在成本、可靠性模式和安全性等方面的局限性。我们观察到像 Stripe、Shopify 和 Twilio 等平台出于这些原因提供直接的总线/队列集成——这通常更便宜且更具弹性。它为喜欢编程消费的用户提供了更好的开发体验。Outpost 将这种灵活性作为核心功能开箱即用。 主要功能: - 多种传递方式:Webhook + 原生事件目的地(SQS、Kinesis、GCP Pub/Sub、RabbitMQ、Hookdeck 等)。 - 保证交付:至少一次的交付保证,支持可配置的自动重试。 - 可观察性:内置事件日志和 OpenTelemetry 支持。 - 管理:用于目的地(端点)管理的 API;可选的用户门户,供最终用户自助服务(调试、目的地管理)。 - 多租户、主题、Webhook 安全最佳实践(签名、时间戳)等。 鉴于您很可能已经有一个系统,Outpost 与您现有的有效负载格式、HTTP 头和签名向后兼容。 它是用 Go 编写的,并采用 Apache 2.0 许可证。目前仍处于早期阶段,我们非常希望听到您的反馈——特别是在架构、所需的事件目的地或您发现的任何问题方面。 GitHub: [https://github.com/hookdeck/outpost](https://github.com/hookdeck/outpost) 文档: [https://outpost.hookdeck.com/docs](https://outpost.hookdeck.com/docs) 感谢您的关注!