一、自研KonaJDK对于云Java生态的意义
JDK作为Java应用的基础设施,在云Java生态上的重要性不言而喻。KonaJDK作为Tencent自研JDK, 已经平稳支撑于腾讯云微服务,消息中间件,大数据等核心业务,同时在信创等场景上作为Java业务的基础支撑组件,填补了腾讯云信创场景下JDK组件的空白。本文将主要从KonaJDK在信创云环境支撑,KonaJDK支持腾讯云产品的能力拓展与定制化以及KonaJDK在大数据场景的优化实践几个方面,介绍KonaJDK对于腾讯云Java业务的支撑与优化。
二、KonaJDK 信创环境支撑
信创云环境中Java业务要求JDK能够稳定高效的支撑国产CPU运行环境。其中主要的CPU指令集为aarch64。通过我们调研,目前JDK8在aarch64指令集的情况如下:
OpenJDK
OpenJDK8 在主线分支中并没有aarch64指令集的支持,网上能够找到的开源版本,都是开源社区几个主要参与者贡献的。对于腾讯云业务来说,开源版本并没有在生产系统中得到验证,也没有专门的人力进行代码的维护与更新。所以在可维护性,安全性及稳定性上都存在风险。
OracleJDK
OracleJDK 8 之中包含AARCH64支持。但考虑到成本,以及OracleJDK 8代码未开源,问题定位等方面的难度。同时,我们在特定场景下也发现OracleJDK频繁的ForceSafepoint可能对业务稳定性存在影响,所以我们也没有考虑使用OracleJDK8作为AARCH64的首先JDK。(具体可以参见文章: <不要再乱下载JDK了:Elasticsearch在国产化ARM环境下的首个大坑>)
经过一系列的分析,我们最终选定KonaJDK作为腾讯云信创方案的首选JDK,主要原因如下:
Comments