Files
wwjcloud-nest-v1/docs/PRODUCTION-DEPLOYMENT.md
wanwujie b5826ee469 feat: 发布 v1 智能框架 0.1.0 版本
🚀 新增功能:
- wwjcloud-nest-v1: 完整的 NestJS 智能框架
- AI 自愈机制: @wwjcloud/auto-healing 模块
- 智能代码生成: tools-v1/php-tools 迁移工具链
- AI 能力规划: v1/docs/AI-CAPABILITY-ROADMAP.md

📦 核心模块:
- libs/wwjcloud-ai: AI 策略和恢复服务
- libs/wwjcloud-boot: 启动和配置管理
- libs/wwjcloud-core: 核心基础设施
- libs/wwjcloud-addon: 插件系统

🏗️ 架构特性:
- 分层渐进式 AI 策略
- 微服务导向的模块化设计
- 与 PHP 项目 100% 业务一致性
- Docker 容器化部署支持

📋 版本信息:
- 版本: v0.1.0
- 发布日期: 2025-01-25
- 分支: v1
2025-10-19 19:55:52 +08:00

3.0 KiB
Raw Blame History

🧭 生产部署手册AI 恢复模块)

📋 目标

  • 明确生产环境的守卫策略、队列驱动选择与观测性配置
  • 保证 AI 恢复端点受控暴露、跨实例协同与稳定可观测

环境与前缀

  • AI_ENABLED=true(启用 AI 模块)
  • GLOBAL_PREFIX=api(统一前缀,保证基础设施路由状态码正确)
  • 端口:建议 apps/api 使用 3001,根应用 3000 按需

🔐 路由守卫策略

  • 开发期:AiController@Public() 便于联调
  • 生产期:务必加守卫或网关限制
    • JwtAuthGuard + RolesGuard
    • 网关层限制来源 IP、路径前缀 (/api/ai/recovery/*)
    • 限流与防刷Nginx/网关 rate-limit,并在服务侧加入短时计数器

🔄 队列驱动选择

  • QUEUE_DRIVER=redis(推荐,跨进程/跨实例可靠)
  • 备选:QUEUE_DRIVER=kafka(企业内消息中间件)
  • 开发/测试:QUEUE_DRIVER=memory(单进程快速闭环)

Redis 驱动示例

QUEUE_DRIVER=redis
REDIS_ENABLED=true
REDIS_URL=redis://username:password@redis:6379/0

Kafka 驱动示例

QUEUE_DRIVER=kafka
KAFKA_ENABLED=true
KAFKA_BROKER=kafka:9092
KAFKA_CLIENT_ID=wwjcloud-ai
KAFKA_GROUP_ID=wwjcloud-ai-group

📊 观测性配置

  • 指标:METRICS_ENABLED=true,暴露 /api/metrics
  • 追踪:TELEMETRY_ENABLED=true按需开启配置采样率与后端Jaeger/Tempo
  • 健康检查:/api/health 保留原始状态码(异常过滤器已处理)

示例

METRICS_ENABLED=true
TELEMETRY_ENABLED=true
TRACING_ENABLED=true
JAEGER_ENDPOINT=http://jaeger:14268/api/traces

🚧 暴露面与网关策略

  • 仅在内网或受控网段暴露 AiController 路由;若必须外网,务必加守卫与限流
  • 通过 API 网关或 WAF 设置:
    • 路由白名单:/api/ai/recovery/status(仅内部监控)
    • 隔离管理接口与前台接口的域名/前缀
    • 每秒/每分钟限流阈值与封禁策略

🧪 验证清单(生产前)

  • 配置生效检查
    • AI_ENABLED=trueGLOBAL_PREFIX=apiQUEUE_DRIVERrediskafka
    • 指标与健康检查端点可访问且状态码正确
  • 功能闭环
    • 触发失败事件 → 入队(跨实例)→ 处理 → 队列收敛
  • 安全检查
    • 路由已加守卫或经网关限制
    • 限流与防刷策略生效
    • 日志中不包含敏感信息(脱敏)

📝 变更与灰度

  • @Public() 改为受控守卫或移除(由网关策略接管)
  • 驱动切换:memory → redis/kafka,需在灰度期观察入队/处理时延与失败率
  • 观测性:上线后先低采样启动,逐步提升采样率与指标抓取频率

🧯 回滚预案

  • 路由临时关闭或仅内网可见
  • 队列回退至 memory 模式以隔离中间件问题(仅在单实例应急)
  • 观测性降级:关闭高频采样,保留关键健康检查

🔗 参考文档

  • 配置指南:docs/CONFIG_SETUP.md
  • 开发指南:docs/DEVELOPMENT-GUIDE.md
  • 端点细节:docs/AI-RECOVERY-DEV.md
  • 工作流指南:docs/AI-WORKFLOW-GUIDE.md