SuperAPI AI 工具集

rust-axum-production

编程与开发

查看项目

更新于 10-15 20:32

技能介绍

用途:把 Axum/Rust 服务加固到可预测、可观测、默认安全的生产状态,可与 axum 及通用 production-readiness 技能配合使用。

主要能力:启动时一次性从环境变量(或配置文件)加载并类型化校验配置,缺失 secret/DB URL 时快速失败,区分 development/staging/production;显式绑定地址,在 SIGTERM/SIGINT 上优雅停机,停止接收连接、排空请求、关闭连接池,并设置停机超时;提供 /health 或 /live 与 /ready 端点,就绪检查依赖(如 DB ping),不泄露内部信息;全局或按路由组设置超时、请求体大小限制,外部 HTTP/DB 客户端均设超时,仅对幂等瞬时错误做带退避与抖动的重试;用 tracing/tracing-subscriber 输出 JSON 日志,配合 tower-http 的 TraceLayer 传递 request id,采集延迟、错误率、饱和度指标;HTTP 安全方面要求显式 CORS 白名单、安全响应头、HttpOnly/Secure/SameSite Cookie、extractor 中校验 JWT/session、按资源鉴权、密钥仅存于环境变量或密钥管理、登录与昂贵端点限流。

使用方式:按资料中的环境变量示例配置,如 APP_ENV=production、DATABASE_URL、RUST_LOG、LISTEN_ADDR=0.0.0.0:8080;Docker 采用多阶段构建,cargo build --release,运行阶段用 distroless/slim 并带证书,非 root 用户,设置 STOPSIGNAL SIGTERM,编排健康检查指向 /ready 或 /health;迁移在发布流量前由流水线执行,多副本避免无锁的启动时迁移。

适用场景:准备上线的 Axum 服务、容器化部署、需要可观测性与安全基线的后端。

限制:资料未提供具体版本号、依赖清单、完整代码示例、性能基准或价格信息;LTO/codegen、压缩、HTTP/2 等需按实际证据决定。