JDK 21 实践:基于 ZGC 的转转商列服务分代优化
发布时间
阅读量:
阅读量
1 为什么要升级JDK
过去内部团队体验部的后端服务 JDK 版本号定为 1.8(即 1.8.0_191),自 JDK 1.8 发布以来已经历了多个版本的更新迭代,在每次新版本发布过程中均引入了许多创新特性。
这些新增特性不仅简化了代码操作流程、提升了系统的安全性,并且降低了运行时资源消耗。
商列服务作为顶级服务仅包含RPC调用与业务代码,并涵盖了:商品列表页面数据及筛选项。其中下游返回的筛选项报文体积较大。在尖峰流量情况下例如618购物节、双11促销期间会产生大量新生对象而使应用申请内存速率超过内存回收速率导致高频垃圾回收(YGC/FGC)以及GC操作时间延长进而影响服务质量。针对大内存场景现有的垃圾回收器如ZGC等无法达到理想回收效果;采用横向扩容策略虽然能缓解部分压力但会伴随成本增加并可能导致数据库连接数上升。通过引入ZGC垃圾回收器借助其并发回收机制、低延迟特性及毫秒级暂停功能与其现有平台架构相契合基于此平台开始考虑升级JDK以优化现有垃圾回收机制提升系统性能。
2 为什么选择JDK21
从Oracle长期支持的版本看,可选的版本有11、17、21,如图1所示。

还没有任何评论哟~
