当前位置: 首页 > news >正文

JAiRouter 0.2.1 更新啦:内存优化 + 配置合并 + IP 限流增强,运维体验再升级

JAiRouter 0.2.1 更新啦:内存优化 + 配置合并 + IP 限流增强,运维体验再升级

如果你已经在 0.2.0 生产环境中稳定运行,那么这篇更新会让你无痛升级,直接“更轻、更稳、更省心”。

📎 官方仓库 & issue 直达
https://github.com/Lincoln-cn/JAiRouter
(star 不迷路)


文章目录

  • JAiRouter 0.2.1 更新啦:内存优化 + 配置合并 + IP 限流增强,运维体验再升级
    • 00 一句话总结
    • 01 新增能力总览
    • 02 内存优化:不再偷偷吃内存
      • 2.1 限流器自动清理机制
    • 03 配置合并:告别手搓 YAML
      • 3.1 自动合并 RESTful 接口
      • 3.2 合并策略
    • 04 IP 限流增强:支持代理场景
    • 05 升级指南:从 0.2.0 → 0.2.1
    • 06 下一步(0.3.0 预告)
    • 07 致谢 & 参与


00 一句话总结

0.2.0 能扛,0.2.1 好轻。
这次我们把「内存泄漏风险」降到几乎为零,把「手动合并 YAML」升级为「一键自动合并」,还把「IP 限流误判」彻底修复。
一句话:JAiRouter 现在是真正为运维设计的 AI 网关。


01 新增能力总览

模块0.2.00.2.1 新增
内存优化✅ 定时清理不活跃客户端 IP 限流器
配置合并✅ 自动扫描、合并、备份、清理多版本配置文件
IP 限流✅ 基础支持✅ 支持 X-Forwarded-For 等真实 IP 提取
测试覆盖✅ 单元测试覆盖率提升至 85%+

02 内存优化:不再偷偷吃内存

2.1 限流器自动清理机制

  • 问题:客户端 IP 限流器长期运行后会无限增长,导致内存泄漏。
  • 解决:引入 RateLimiterCleanupChecker,每 5 分钟清理 30 分钟内未活跃的限流器。
  • 效果:长期运行内存占用显著下降,避免 OOM 风险。

03 配置合并:告别手搓 YAML

3.1 自动合并 RESTful 接口

动作方法路径说明
扫描版本文件GET/api/config/merge/scan
预览合并结果GET/api/config/merge/preview
执行自动合并POST/api/config/merge/execute
备份当前配置POST/api/config/merge/backup
清理旧文件DELETE/api/config/merge/cleanup
批量一键操作POST/api/config/merge/batch

所有接口统一返回 RouterResponse<T>,支持跨域。

3.2 合并策略

  • 深度合并:保留所有服务配置,避免数据丢失。
  • 实例去重:基于 name@baseUrl 自动去重。
  • 版本重置:合并后版本号从 1 重新开始。

04 IP 限流增强:支持代理场景

  • 新增:支持从 X-Forwarded-ForX-Real-IP 等 Header 中提取真实客户端 IP。
  • 适用场景:网关前置 Nginx、K8s Ingress、SLB 等代理部署环境。
  • 配置方式:无需额外配置,自动识别。

05 升级指南:从 0.2.0 → 0.2.1

  1. 兼容:0.2.0 的 application.yml 无需修改即可启动。
  2. 推荐:开启 store.type=file,配合自动合并使用更香。
  3. 新增:建议运行一次 /api/config/merge/execute 体验新功能。

06 下一步(0.3.0 预告)

  • Docker 镜像:官方镜像发布,一条命令部署。
  • Prometheus 指标:限流器数量、熔断器状态、内存使用等可观测指标。
  • 告警通知:支持 Webhook、邮件、飞书机器人等方式。

07 致谢 & 参与

  • 感谢 0.2.0 发布后小伙伴提出的有效 issue。
  • 欢迎大家继续开 issue / PR / 讨论,所有功能需求都会被认真考虑

再次贴仓库:https://github.com/Lincoln-cn/JAiRouter
点个 ⭐,不迷路!

http://www.dtcms.com/a/327860.html

相关文章:

  • TCP/IP、socket、http
  • 5分钟精通 useMemo
  • Ubuntu-初始化环境
  • Kafka的一条消息的写入和读取过程原理介绍
  • SQL脚本--捞json数据
  • 【SpringBoot】08 容器功能 - SpringBoot底层注解汇总大全
  • CPPIO流
  • 熟悉并使用Spring框架 - XML篇
  • 深度学习自动并行技术:突破计算瓶颈的智能调度艺术
  • Qwen-OCR:开源OCR技术的演进与全面分析
  • 机器学习-决策树(上)
  • 小黑课堂计算机一级WPSOffice题库安装包1.44_Win中文_计算机一级考试_安装教程
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-会议记录
  • 91、23种经典设计模式
  • STM32即插即用HAL库驱动系列——4位串行数码管显示
  • Pandas数据处理与分析实战:Pandas数据处理与分析入门-选择与过滤
  • uniapp -- 小程序处理与设备通讯 GBK/GB2312 编码问题。
  • 记一次 .NET 某汽车控制焊接软件 卡死分析
  • 腾讯云terraform学习教程
  • 传输线的效应
  • 【MAUI】在 .NET MAUI 中实现全局异常捕获的完整指南
  • 五、Nginx、RabbitMQ和Redis在Linux中的安装和部署
  • DAY41 简单CNN
  • PostgreSQL——数据查询
  • PyCharm Community 2024.2.3.exe 安装教程(详细步骤,附安装包下载)
  • Docker守护进程安全加固在香港VPS环境的操作标准
  • vue3使用插槽写一个自定义瀑布列表
  • 海康视觉相机驱动软件参数配置
  • 用 Docker 安装并启动 MySQL:从零到实战的完整指南
  • vivo Pulsar 万亿级消息处理实践(2)-从0到1建设 Pulsar 指标监控链路