SuperAPI AI 工具集

orchestrator

编程与开发

查看项目

更新于 10-16 00:24

技能介绍

用途:Orchestrator 是分布式 Rust 微服务集成模式指南,用于把 Web 框架、后台 Worker 与数据库安全地拼接在一起,提供可直接参考的“胶水”代码架构。

主要能力(按需查阅对应参考文件):

  • 加密认证:references/crypto-auth.md,快速密钥查找、Argon2id 哈希、防时序攻击。做法是先用 HMAC-SHA256 加服务端 pepper 生成 16 字节索引做数据库查找(WHERE idx = $1),命中后再对存储的 Argon2id 哈希做常量时间校验;不要明文存储密钥标识,也不要用慢哈希做 SELECT 查找。
  • 动态配置与 CLI:references/config-dynamic.md,用 serde 与 toml 在启动时解析 reeve.toml 目录,用 clap 子命令让同一二进制充当 API 服务、后台 Worker 或迁移工具。
  • 分布式 SSE:references/distributed-sse.md,Worker 向 Redis 频道 task:<id>:events 发布进度,API 用专用 redis::aio::PubSub 连接订阅并通过 async_stream 返回 axum::response::sse::Event。
  • SSRF 防护:references/ssrf-protection.md,外部 reqwest 客户端在 DNS 解析后拒绝私有、回环、链路本地与未指定 IP,除非显式加入允许列表;应使用 dns_resolver 或受保护的 hyper_util 连接解析器,而非 URL 字符串检查。
  • ULID 与 SQLx:references/ulid-sqlx.md,用 ulid::Ulid 经 ulid.into() 转 uuid::Uuid,存 16 字节;BYTEA 绑定 uuid.as_bytes().as_slice(),SQL UUID 启用 SQLx 的 uuid 特性后直接绑定 Uuid。
  • S3 预签名 PUT 大小限制:references/s3-bucket-policy.md,不要给预签名 PUT URL 加 content-length-range,改用兼容 S3 的桶策略,在上传前缀范围内设置 s3:content-length 数值拒绝规则。

依赖矩阵(使用前请刷新版本):加密认证需 argon2 0.6.0-rc.8、hmac 0.13.0、sha2 0.11.0、subtle 2.6.1、rand_core 0.10.1;配置/CLI 需 toml 1.1.2+spec-1.1.0、serde 1.0.228、clap 4.6.1;Pub/Sub SSE 需 redis 1.2.1、axum 0.8.9、tokio-stream 0.1.18、async-stream 0.3.6、futures-util 0.3.32;SSRF 防护需 reqwest 0.13.3、tokio 1.52.1、hyper-util 0.1.20、tower 0.5.3、ipnet 2.12.0;ULID SQLx 需 ulid 1.2.1、uuid 1.23.1、sqlx 0.9.0-alpha.1;S3 策略需 aws-sdk-s3 1.131.0、aws-config 1.8.16、serde_json 1.0.149。

适用场景:构建分布式 Rust 后端、需要无密码认证、跨容器事件推送、外部 RPC 安全调用、任务 ID 存储与对象存储上传限制的项目。

限制:资料未提供安装命令、收费方式、平台支持与效果数据;依赖版本可能变化,使用前应自行核对。