Discord 开源了 Osprey,这是一个高性能事件流决策引擎,利用 Rust 和 Python 的多语言架构,每秒可处理 230 万条规则。
📝 详细摘要
Discord 已将 Osprey 作为开源项目发布,为工程社区提供了其用于实时威胁检测和自动响应的内部引擎。该系统专为处理海量规模而构建,每天评估 4 亿次操作。其架构特点是采用 Rust 协调器进行高并发流量管理,并使用无状态 Python 工作节点进行规则评估。规则使用 SML 编写,这是一种类似 Python 的 DSL,既确保了分析师的易用性,又允许工程师通过 Python UDF 扩展功能。随着 Bluesky 和 Matrix.org 的早期采用,Osprey 通过分离数据平面(Rust)和控制平面(Python),展示了一种高吞吐量系统的稳健模式。
💡 主要观点
- 高性能的解耦多语言架构。 该系统使用 Rust 协调器来管理异步事件流和 gRPC 请求,而 Python 工作节点处理业务逻辑,从而最大限度地提高了硬件效率和开发速度。
💬 文章金句
- Osprey 为实时威胁检测和缓解提供了可水平扩展的架构。
- 采用 Rust 和 Python 的多语言架构正成为需要高吞吐量系统的标准模式。
- Rust 作为数据平面,管理网络流量、内存分配和高并发执行。Python 则作为控制平面。
📊 文章信息
AI 评分:90
来源:InfoQ
作者:Patrick Farry
分类:软件编程
语言:英文
阅读时间:3 分钟
字数:517
标签: Discord, Osprey, 开源, Rust, Python