更新日志¶
文档版本: 1.0.0
最后更新: 2025-08-19
Git 提交: c1aa5b0f
作者: Lincoln
本文档记录了 JAiRouter 项目的版本更新历史和重要变更。
版本规范¶
JAiRouter 遵循 语义化版本 规范:
- 主版本号 (MAJOR): 不兼容的 API 变更
- 次版本号 (MINOR): 向后兼容的功能新增
- 修订号 (PATCH): 向后兼容的问题修正
版本历史¶
[未发布] - 开发中¶
新增功能¶
- 完善的文档体系和用户指南
- 多语言文档支持(中文/英文)
- 增强的监控和告警功能
- 更多的适配器支持
改进优化¶
- 性能优化和内存管理改进
- 更好的错误处理和日志记录
- 配置验证和用户体验提升
问题修复¶
- 修复已知的内存泄漏问题
- 解决并发场景下的竞态条件
- 改进配置热更新的稳定性
[0.3.2] - 2025-08-20¶
新增功能¶
- 监控集成: 完整的 Prometheus + Grafana 监控栈
- 性能指标: 新增业务指标和基础设施指标收集
- 告警规则: 预配置的告警规则和通知机制
- 监控仪表板: 专业的 Grafana 仪表板模板
改进优化¶
- 指标优化: 优化指标收集性能,减少对主业务的影响
- 内存管理: 改进指标数据的内存使用和清理机制
- 配置简化: 简化监控相关的配置参数
问题修复¶
- 修复监控指标在高并发下的数据不准确问题
- 解决长时间运行后的内存泄漏问题
- 修复 Prometheus 指标格式兼容性问题
技术债务¶
- 重构监控模块的代码结构
- 改进单元测试覆盖率
- 优化构建和部署流程
[0.3.1] - 2025-08-15¶
新增功能¶
- 中国加速构建: 专门为中国用户优化的 Docker 构建
- 阿里云镜像: 使用阿里云 Maven 镜像加速依赖下载
- 构建脚本: 新增
docker-build-china.sh
构建脚本 - Maven Profile: 新增
china
profile 支持
改进优化¶
- 构建速度: 中国用户构建速度提升 5-10 倍
- 网络优化: 优化网络连接和超时配置
- 文档完善: 添加中国用户专用的构建指南
问题修复¶
- 修复在中国网络环境下的依赖下载超时问题
- 解决 Maven 仓库连接不稳定的问题
- 修复 Docker 构建过程中的网络错误
[0.3.0] - 2025-08-14¶
新增功能¶
- Docker 容器化: 完整的 Docker 部署支持
- 多环境部署: 支持开发、测试、生产环境配置
- Docker Compose: 提供完整的容器编排配置
- 健康检查: 容器级别的健康检查机制
- 监控集成: 基础的监控指标暴露
改进优化¶
- 镜像优化: 多阶段构建,生产镜像约 200MB
- 安全加固: 非 root 用户运行,最小权限原则
- 性能调优: 容器环境下的 JVM 参数优化
- 日志管理: 容器化环境的日志收集和轮转
问题修复¶
- 修复容器环境下的配置文件路径问题
- 解决容器重启后配置丢失的问题
- 修复网络连接在容器间的通信问题
破坏性变更¶
- 默认配置文件路径从
./config
改为/app/config
- 环境变量命名规范调整
[0.2.1] - 2025-08--12¶
新增功能¶
- 定时清理任务: 自动清理不活跃的限流器,防止内存泄漏
- 内存优化: 改进内存使用模式,减少 GC 压力
- 客户端 IP 限流增强: 更精确的客户端 IP 识别和限流
- 配置文件自动合并: 支持多版本配置文件的智能合并
改进优化¶
- 性能提升: 限流器性能优化,减少锁竞争
- 监控增强: 新增内存使用和清理任务的监控指标
- 日志优化: 改进日志格式和性能
- 错误处理: 更好的异常处理和错误恢复机制
问题修复¶
- 修复长时间运行后的内存泄漏问题
- 解决高并发场景下的限流器竞态条件
- 修复配置热更新时的线程安全问题
- 解决客户端 IP 获取在代理环境下的问题
技术改进¶
- 重构限流器清理机制
- 改进单元测试覆盖率到 85%
- 优化代码质量检查规则
[0.2.0] - 2025-08-11¶
新增功能¶
- 限流机制: 支持 Token Bucket、Leaky Bucket、Sliding Window、Warm Up 四种限流算法
- 熔断器: 实现熔断器模式,支持失败阈值、恢复检测、降级策略
- 降级策略: 支持默认响应和缓存降级
- 配置持久化: 支持内存存储和文件存储两种后端
- 动态配置更新: 运行时更新服务实例、权重、限流、熔断等配置
改进优化¶
- 性能优化: 响应式编程模型,支持高并发处理
- 配置管理: 配置文件自动合并和版本管理
- 错误处理: 完善的异常处理和错误恢复机制
- 监控指标: 新增限流、熔断相关的监控指标
问题修复¶
- 修复负载均衡器在实例变更时的线程安全问题
- 解决配置更新时的数据一致性问题
- 修复高并发场景下的内存泄漏问题
API 变更¶
- 新增动态配置管理 API (
/api/config/instance/*
) - 新增配置文件合并 API (
/api/config/merge/*
) - 扩展健康检查 API,包含更多状态信息
[0.1.0] - 2025-08-04¶
新增功能¶
- 基础网关: 统一
/v1/*
API 网关,支持 OpenAI 兼容格式 - 服务类型支持: Chat、Embedding、Rerank、TTS、STT、Image Generation、Image Editing
- 适配器模式: 支持 GPUStack、Ollama、VLLM、Xinference、LocalAI、OpenAI 适配器
- 负载均衡: 实现 Random、Round Robin、Least Connections、IP Hash 四种策略
- 健康检查: 每服务独立状态接口,自动剔除不可用实例
- 配置管理: 基于 YAML 的静态配置支持
技术特性¶
- Spring Boot 3.5.x: 基于最新的 Spring Boot 框架
- 响应式编程: 使用 Spring WebFlux 和 Reactor Core
- 代码质量: 集成 Checkstyle、SpotBugs、JaCoCo 代码质量工具
- API 文档: 使用 SpringDoc OpenAPI 自动生成 API 文档
- 单元测试: 包含负载均衡、健康检查等核心功能的单元测试
项目结构¶
- 建立清晰的模块化架构
- 定义统一的编码规范和最佳实践
- 建立完整的构建和测试流程
升级指南¶
从 0.3.1 升级到 0.3.2¶
配置变更¶
部署变更¶
- 新增 Prometheus 和 Grafana 容器
- 更新
docker-compose.yml
配置 - 导入新的 Grafana 仪表板
注意事项¶
- 监控功能默认启用,可能会增加少量性能开销
- 新增的监控端点需要相应的网络配置
从 0.2.1 升级到 0.3.0¶
破坏性变更¶
- 配置文件路径变更:
./config
→/app/config
- 环境变量命名调整
迁移步骤¶
- 更新配置文件路径
- 调整环境变量名称
- 更新部署脚本和容器配置
从 0.1.0 升级到 0.2.0¶
新增依赖¶
- 无需额外依赖,所有功能已内置
配置扩展¶
# 新增限流配置
model:
services:
chat:
rate-limit:
type: token-bucket
capacity: 100
refill-rate: 10
# 新增熔断配置
circuit-breaker:
failure-threshold: 5
recovery-timeout: 30s
success-threshold: 3
已知问题¶
当前版本 (0.3.2)¶
- 在极高并发场景下(>10k RPS),监控指标可能出现轻微延迟
- Docker 容器在某些网络环境下可能出现 DNS 解析缓慢
历史问题¶
- ~~0.3.1: 中国网络环境下构建超时~~ (已修复)
- ~~0.2.1: 长时间运行后内存泄漏~~ (已修复)
- ~~0.2.0: 高并发下配置更新竞态条件~~ (已修复)
贡献者¶
感谢所有为 JAiRouter 项目做出贡献的开发者:
- 核心团队: 负责架构设计和核心功能开发
- 社区贡献者: 提供功能建议、问题报告和代码贡献
- 文档团队: 完善项目文档和用户指南
- 测试团队: 进行功能测试和性能验证
反馈和建议¶
如果您在使用过程中遇到问题或有改进建议,欢迎通过以下方式反馈:
我们重视每一个反馈,并会及时响应和处理。