跳转至

V1.4.1 更新日志

发布日期: 2026-03-24
版本: V1.4.1
兼容性: ✅ 向后兼容 V1.4.0


🎉 版本亮点

V1.4.1 是一个稳定增强版,主要聚焦于核心功能的改进和代码质量提升:

  • 🔌 熔断器重构 - 使用状态模式,降低圈复杂度 67%
  • 📊 限流测试 - 新增完整单元测试覆盖
  • 📝 配置审计 - 支持配置变更追踪和审计日志
  • 🏷️ 值对象 - 引入 InstanceId 增强类型安全

✨ 新增功能

1. 熔断器状态模式重构

熔断器现在使用状态模式实现,提供更清晰的代码结构和更好的可维护性。

改进: - 圈复杂度从 15 降低到 5 - 符合单一职责原则和开闭原则 - 状态转换逻辑更清晰

使用示例:

// 创建熔断器
CircuitBreaker breaker = new StatefulCircuitBreaker(5, 2, 60000);

// 记录请求结果
breaker.recordSuccess();  // 或 breaker.recordFailure()

// 检查是否允许请求
if (breaker.allowRequest()) {
    // 执行请求
}

兼容性: 原有的 DefaultCircuitBreaker 仍然可用,新代码推荐使用 StatefulCircuitBreaker


2. 配置审计功能

现在可以追踪配置的变更历史,支持问题排查和审计需求。

功能: - 记录配置变更操作 - 记录操作人和操作时间 - 记录变更前后值对比

数据库变更:

-- 新增配置变更审计日志表
CREATE TABLE config_change_audit_log (
    id VARCHAR(64) PRIMARY KEY,
    config_key VARCHAR(256) NOT NULL,
    operation VARCHAR(32) NOT NULL,
    old_value TEXT,
    new_value TEXT,
    operator VARCHAR(64),
    operated_at TIMESTAMP NOT NULL,
    ip_address VARCHAR(45),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);


3. 限流算法测试完善

新增完整的限流算法单元测试,确保限流功能的正确性。

测试覆盖: - ✅ 令牌桶算法基础测试 - ✅ 限流配置测试 - ✅ 并发限流测试 - ✅ 限流恢复测试


4. 值对象 InstanceId

引入 InstanceId 值对象,增强实例 ID 的类型安全性和验证逻辑。

使用示例:

// 从字符串创建(带验证)
InstanceId id = InstanceId.of("my-instance-001");

// 生成随机实例 ID
InstanceId newId = InstanceId.generate();

// 获取值
String value = id.toString();

验证规则: - 不能为空 - 长度 ≤ 64 字符 - 只能包含字母、数字、下划线和连字符


📦 安装升级

升级步骤

  1. 备份数据

    # 备份数据库
    mysqldump -u root -p modelrouter > backup_v1.4.0.sql
    

  2. 下载新版本

    git pull origin master
    git checkout V1.4.1
    

  3. 数据库迁移

    -- 执行新增表的创建脚本
    source /path/to/schema_v1.4.1.sql
    

  4. 重启应用

    mvn spring-boot:run -P fast
    

  5. 验证功能

    curl http://localhost:8080/actuator/health
    # 应返回:{"status":"UP"}
    


🔧 配置变更

新增配置项

本版本无需修改现有配置,所有配置项保持向后兼容。


⚠️ 注意事项

向后兼容性

  • ✅ 完全向后兼容 V1.4.0
  • ✅ API 接口无破坏性变更
  • ✅ 配置文件格式无变更

已知问题

暂无已知问题。


📊 代码统计

指标数量
新增文件11 个
新增代码行+878 行
新增测试行+285 行
提交数量4 个

🐛 问题修复

本版本主要聚焦功能增强,无特定问题修复。


📚 相关文档


👥 贡献者

感谢以下开发者的贡献:

  • JAiRouter Development Team

更新日期: 2026-03-24
文档维护: JAiRouter Team