Apollo Router v1.61.6 版本发布:JWT 指标修复与 Redis 连接优化
Apollo Router 是一个高性能的 GraphQL 网关,用于构建和管理 GraphQL API 的联邦架构。作为 Apollo GraphQL 生态系统中的核心组件,它提供了请求路由、查询规划、缓存管理等功能,帮助开发者构建可扩展的 GraphQL 服务。
JWT 认证指标修复
本次发布修复了 JWT 认证指标 apollo.router.operations.authentication.jwt 的行为问题。根据 GraphQL 规范,这个计数器指标应该记录所有使用 JWT 的请求,并通过 authentication.jwt.failed 属性区分成功和失败的认证。在之前的版本中,该指标仅用于记录失败的认证尝试,这导致了监控数据的不完整。
同时,项目中存在一个名为 apollo.router.operations.jwt 的旧指标,它仅记录成功的认证,现在已被标记为弃用。开发者应该迁移到新的标准化指标以获得更全面的认证监控数据。
Redis 连接泄漏修复
在热重载过程中,Router 会创建新的内部实例并逐步淘汰旧实例。v1.61.6 版本修复了一个关键问题:旧实例中的 Redis 连接未能正确关闭,导致连接数不断增加并消耗内存资源。
为了帮助监控 Redis 连接状态,本次更新新增了 apollo.router.cache.redis.connections 指标,这是一个上下计数器,可以跟踪活跃的 Redis 连接数。该指标包含 kind 标签,用于区分不同类型的 Redis 连接池,与其他缓存指标(如 apollo.router.cache.hit.time)保持一致。
GraphQL 响应解析改进
在处理协处理器返回的 GraphQL 响应时,Router 现在完全遵循 GraphQL 规范。当协处理器返回包含执行错误的响应时(如 {"data": null, "errors": [...]}),Router 将保留完整的响应结构,而不再移除 data: null 字段。这一改进确保了与 GraphQL 规范的完全兼容性。
批处理指标精度提升
apollo.router.operations.batching.size 指标现在能够准确反映 GraphQL 请求批处理的大小。之前的版本偶尔会返回分数值,这在统计批处理大小时是不合理的。新版本确保了该指标始终返回整数数值,提供更精确的批处理规模监控数据。
配置增强:HTTP 头读取超时
v1.61.6 版本新增了 server.http.header_read_timeout 配置选项,允许开发者自定义 HTTP 头读取的超时时间。默认值为 10 秒,与之前的硬编码值保持一致。对于需要处理慢速客户端的场景,可以适当延长这个超时时间:
server:
http:
header_read_timeout: 30s
订阅验证改进
根据最新的 GraphQL 规范 RFC,Router 现在会在验证阶段拒绝那些在订阅根字段上使用 @skip 或 @include 指令的查询。这些指令可能导致订阅在运行时无效,提前在验证阶段拦截这类查询有助于提高系统的健壮性。
Apollo Router v1.61.6 通过这些改进和修复,进一步提升了系统的稳定性、监控能力和规范合规性,为开发者提供了更可靠的 GraphQL 网关服务。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00