← 回總覽

Discord 开源 Osprey 安全规则引擎,每秒可处理 230 万条规则

📅 2026-03-31 08:11 Patrick Farry 软件编程 1 分鐘 1087 字 評分: 90
Discord Osprey 开源 Rust Python
📌 一句话摘要 Discord 开源了 Osprey,这是一个高性能事件流决策引擎,利用 Rust 和 Python 的多语言架构,每秒可处理 230 万条规则。 📝 详细摘要 Discord 已将 Osprey 作为开源项目发布,为工程社区提供了其用于实时威胁检测和自动响应的内部引擎。该系统专为处理海量规模而构建,每天评估 4 亿次操作。其架构特点是采用 Rust 协调器进行高并发流量管理,并使用无状态 Python 工作节点进行规则评估。规则使用 SML 编写,这是一种类似 Python 的 DSL,既确保了分析师的易用性,又允许工程师通过 Python UDF 扩展功能。随着 Blu

📌 一句话摘要

Discord 开源了 Osprey,这是一个高性能事件流决策引擎,利用 Rust 和 Python 的多语言架构,每秒可处理 230 万条规则。

📝 详细摘要

Discord 已将 Osprey 作为开源项目发布,为工程社区提供了其用于实时威胁检测和自动响应的内部引擎。该系统专为处理海量规模而构建,每天评估 4 亿次操作。其架构特点是采用 Rust 协调器进行高并发流量管理,并使用无状态 Python 工作节点进行规则评估。规则使用 SML 编写,这是一种类似 Python 的 DSL,既确保了分析师的易用性,又允许工程师通过 Python UDF 扩展功能。随着 Bluesky 和 Matrix.org 的早期采用,Osprey 通过分离数据平面(Rust)和控制平面(Python),展示了一种高吞吐量系统的稳健模式。

💡 主要观点

- 高性能的解耦多语言架构。 该系统使用 Rust 协调器来管理异步事件流和 gRPC 请求,而 Python 工作节点处理业务逻辑,从而最大限度地提高了硬件效率和开发速度。

使用 SML 和 AST 优化的规则评估。 规则使用 SML(一种 Python 语法的 DSL)编写,并在启动时解析为抽象语法树(AST),以最大限度地减少每个事件的处理时间并实现静态验证。
动态更新和水平扩展性。 通过使用 ETCD 进行规则分发和容器化无状态工作节点,该系统支持无需重新部署的实时规则更新,并可水平扩展以应对流量高峰。

💬 文章金句

- Osprey 为实时威胁检测和缓解提供了可水平扩展的架构。

  • 采用 Rust 和 Python 的多语言架构正成为需要高吞吐量系统的标准模式。
  • Rust 作为数据平面,管理网络流量、内存分配和高并发执行。Python 则作为控制平面。

📊 文章信息

AI 评分:90

来源:InfoQ

作者:Patrick Farry

分类:软件编程

语言:英文

阅读时间:3 分钟

字数:517

标签: Discord, Osprey, 开源, Rust, Python

阅读完整文章

查看原文 → 發佈: 2026-03-31 08:11:00 收錄: 2026-03-31 10:00:02

🤖 問 AI

針對這篇文章提問,AI 會根據文章內容回答。按 Ctrl+Enter 送出。