For AI agents: the complete documentation index is available at https://a3s-lab.github.io/Boot/v0.1.4/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/Boot/v0.1.4/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/Boot/v0.1.4/getting-started/installation.md.
  • 简体中文
  • v0.1.4
  • 安装与 feature

    A3S Boot 使用 Cargo feature 控制协议适配器和技术模块。先使用默认集合启动 HTTP 应用,再只为实际业务边界启用额外能力。

    默认安装

    [dependencies]
    a3s-boot = "0.1.4"
    tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

    默认 feature 是:

    Feature内容
    axumAxum HTTP 与 WebSocket 适配器
    macrosModule、Provider、Controller、路由与协议属性宏
    shutdown-hooksSIGINT 与 SIGTERM 停机信号处理

    tokio 的 runtime feature 由最终应用决定。上面的配置适合带 #[tokio::main] 的多线程服务。

    最小核心

    不需要 HTTP 适配器、宏或信号处理时,关闭默认 feature:

    [dependencies]
    a3s-boot = { version = "0.1.4", default-features = false }

    这种组合适合只使用显式 builder、由宿主提供 runtime 的库,或者只想依赖协议中立核心的集成。

    按能力启用

    [dependencies]
    a3s-boot = {
      version = "0.1.4",
      features = ["auth", "security", "session", "openapi-schemas"]
    }
    serde = { version = "1", features = ["derive"] }
    tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

    应用与 HTTP

    Feature能力
    config使用 a3s-acl 解析与验证类型化配置
    auth策略驱动的认证服务与 Guard
    securityCORS、CSRF、限流和安全响应头
    sessionSession middleware、cookie 与可替换 store
    cacheCache 接口、内存 store 与响应缓存 Interceptor
    database可替换数据库 facade 与内存测试 backend
    http-clientProvider 管理的出站 HTTP 客户端
    compressiongzip 响应压缩
    file-upload有边界限制的 multipart 上传
    static静态文件与 SPA fallback
    request-contexttask-local 当前请求上下文
    openapi-schemas从 schemars::JsonSchema 收集组件 schema

    后台能力

    Feature能力
    cqrsCommand、Query 与 Event bus
    eventsA3S Event provider 与 listener
    queueA3S Lane 支持的进程内队列
    queue-postgresA3S ORM 支持的共享 PostgreSQL 队列,同时启用 queue
    scheduletimeout、interval 与 cron 调度
    logging结构化 Logger 与请求日志增强器
    health健康检查与 indicator
    ilink腾讯微信 iLink 客户端与登录、轮询、回复边界

    消息传输

    tcp-transport、redis-transport、nats-transport、mqtt-transport、rabbitmq-transport、kafka-transport 与 grpc-transport 分别启用对应网络实现。InProcessTransport 不需要额外 feature。

    启用 transport 只会加入客户端与适配器实现,不会创建或管理外部 broker。

    PostgreSQL 队列版本差异

    [dependencies]
    a3s-boot = { version = "0.1.4", features = ["queue-postgres"] }
    serde_json = "1"
    tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

    Boot v0.1.4 的 queue-postgres 使用 A3S ORM 0.2.0。队列对外契约与 v0.2.0 相同,内部 claim 实现使用当时可用的 ORM 能力。

    不要在应用中手动覆盖 Boot 的可选 A3S ORM 依赖版本。Cargo feature 会在整个依赖图中合并,部署前应检查 cargo tree -e features 的最终结果。

    验证选择

    cargo check
    cargo tree -e features -p a3s-boot
    cargo test

    需要评估所有集成能否一起编译时,再运行 cargo check --all-features。网络 transport 和 PostgreSQL 的端到端测试可能需要对应外部服务。

    接下来使用快速开始运行第一条路由。