1. 31 Dec, 2025 4 commits
    • IanShaw027's avatar
    • IanShaw027's avatar
      feat(gateway): 实现负载感知的账号调度优化 · 592d2d09
      IanShaw027 authored
      - 新增调度配置:粘性会话排队、兜底排队、负载计算、槽位清理
      - 实现账号级等待队列和批量负载查询(Redis Lua 脚本)
      - 三层选择策略:粘性会话优先 → 负载感知选择 → 兜底排队
      - 后台定期清理过期槽位,防止资源泄漏
      - 集成到所有网关处理器(Claude/Gemini/OpenAI)
      592d2d09
    • yangjianbo's avatar
      fix(lint): 修复 golangci-lint 报告的代码问题 · 682f546c
      yangjianbo authored
      - errcheck: 修复类型断言未检查返回值的问题
        - pool.go: 添加 sync.Map 类型断言安全检查
        - req_client_pool.go: 添加 sync.Map 类型断言安全检查
        - concurrency_cache_benchmark_test.go: 显式忽略断言返回值
        - gateway_service.go: 显式忽略 WriteString 返回值
      
      - gofmt: 修复代码格式问题
        - redis.go: 注释对齐
        - api_key_repo.go: 结构体字段对齐
        - concurrency_cache.go: 字段对齐
        - http_upstream.go: 注释对齐
      
      - unused: 删除未使用的代码
        - user_repo.go: 删除未使用的 sql 字段
        - usage_service.go: 删除未使用的 calculateStats 函数
      
      🤖 Generated with [Claude Code](https://claude.com/claude-code
      
      )
      Co-Authored-By: default avatarClaude Opus 4.5 <noreply@anthropic.com>
      682f546c
    • yangjianbo's avatar
      perf(后端): 完成性能优化与连接池配置 · 7efa8b54
      yangjianbo authored
      新增 DB/Redis 连接池配置与校验,并补充单测
      
      网关请求体大小限制与 413 处理
      
      HTTP/req 客户端池化并调整上游连接池默认值
      
      并发槽位改为 ZSET+Lua 与指数退避
      
      用量统计改 SQL 聚合并新增索引迁移
      
      计费缓存写入改工作池并补测试/基准
      
      测试: 在 backend/ 下运行 go test ./...
      7efa8b54
  2. 25 Dec, 2025 1 commit
  3. 24 Dec, 2025 2 commits
    • Forest's avatar
      refactor: 重命名 go module · 836c4dda
      Forest authored
      836c4dda
    • shaw's avatar
      fix(concurrency): 重构并发管理使用独立Key+原生TTL · e65e9587
      shaw authored
      问题:旧方案使用计数器模式,每次acquire都刷新TTL,导致僵尸数据永不过期
      
      解决方案:
      - 每个槽位使用独立Redis Key: concurrency:account:{id}:{requestID}
      - 利用Redis原生TTL,每个槽位独立5分钟过期
      - 服务崩溃后僵尸数据自动清理,无需手动干预
      - 兼容多实例K8s部署
      
      技术改动:
      - 新增SCAN脚本统计活跃槽位数量
      - 移除冗余的releaseScript,直接使用DEL命令
      - Wait队列TTL只在首次创建时设置,避免刷新
      e65e9587
  4. 19 Dec, 2025 1 commit