尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Apache Dubbo 3.2/3.3 与 Dubbo 2.7 的 JDK 支持范围怎么选?

Apache Dubbo 3.2/3.3 与 Dubbo 2.7 的 JDK 支持范围怎么选? Apache Dubbo 3.2/3.3 与 Dubbo 2.7 的 JDK 支持范围怎么选【免费下载链接】dubboThe java implementation of Apache Dubbo. An RPC and microservice framework.项目地址: https://gitcode.com/GitHub_Trending/du/dubbo如果你的团队正要从 Dubbo 2.7 升级到 Dubbo 3或者在评估新项目的 JDK 基线需要先回答一个前置问题当前手里的 JDK 版本落在哪个 Dubbo 版本的支持范围内。README.md 的 Which Dubbo Version Should I Use? 一节给出了官方的版本与 JDK 对应表本文基于这张表和仓库内的构建配置把选型依据和验证方式整理成一条可执行的路径。各版本文档标注的 JDK 支持范围先完整列出 README.md 中 Version Compatibility 给出的两张表。Dubbo3VersionJDK SupportHighlights节选3.3.7-SNAPSHOT1.8 – 25✅ JDK 25 Support3.3.61.8 – 21Mutiny Reactive Support、Affinity Router、Method-level TPS Limiting、Spring 6 Security Plugin3.3.51.8 – 21Actively Maintained、Triple Protocol (gRPC/cURL)、REST Support、Spring Boot Starters3.2.161.8 – 17Actively Maintained、Metrics Tracing、Thread Pool Isolation、Native Image Support3.1.111.8 – 17⚠️ Stable, but Not Actively MaintainedDubbo2VersionJDKDescription2.7.231.8❌ EOL2.6.x, 2.5.x1.6 – 1.7❌ EOL表中还有一列 DependenciesREADME 为每个版本给出了对应 release tag 下dubbo-dependencies-bom/pom.xml的依赖清单入口在本仓库中该文件就是 dubbo-dependencies-bom/pom.xml。按手上的 JDK 版本选组合对照上表可以按 JDK 版本直接收敛选择JDK 1.8所有列出的版本都覆盖 1.8 下限。但 2.7.23 已标注 EOL3.1.11 标注 Not Actively Maintained因此文档上仍受维护的落点是 3.2.16 或 3.3.x。JDK 9 – 173.2.161.8 – 17和 3.3.5/3.3.61.8 – 21均覆盖两者都标注 Actively Maintained差异在 3.3 多出的特性集。JDK 18 – 21只有 3.3.5 / 3.3.6 覆盖这个区间3.2 线最高到 17不在考虑范围内。JDK 22 – 25README 中只有3.3.7-SNAPSHOT一行标注 1.8 – 25并写明 ✅ JDK 25 Support但该版本 Dependencies 一列还是 Coming Soon即尚未发布。已发布的 3.3.5/3.3.6 最高到 21。两处文档表述需要留意docs/threat-model.md 记录的是 JDK 8–21 supported (3.3.x line)引用来源正是 README与 README 中 3.3.7-SNAPSHOT 行的 1.8 – 25 并存。可以这样理解已发布的 3.3.x3.3.5/3.3.6支持到 JDK 21到 25 是未发布的 3.3.7-SNAPSHOT 行的标注。如果你的 JDK 基线是 22 以上只能等 3.3.7 正式发布文档中没有给出更早的替代路径。仓库根 pom.xml 中maven.compiler.source与maven.compiler.target均为1.8当前开发线revision为3.3.7-SNAPSHOTpom.xml。这说明 1.8 是整个 3.3 线产物字节码的下限与表格的 1.8 下限一致。必须留在 Dubbo 2.7 时的限制如果升级窗口未到、服务必须暂时留在 2.7文档给出的事实是2.7.23 仅支持JDK 1.8且已EOL没有更高 JDK 的支持范围可言。JDK 1.8 之外的运行环境不在 2.7.23 的文档支持范围内。dubbo-compatible/README.md 说明从 2.7.x 起 Dubbo 包名改为org.apache.dubbodubbo-compatible模块为此提供了com.alibaba.dubbo.*下的常用 APIFilter、Invocation、Invoker、RpcContext、Reference/Service 注解等作为兼容层。同一份 README 明确提示兼容层中除列出的核心 API 外其余只是没有单测覆盖的 bridge APImay work with wrong官方建议是尽早用新 APIorg.apache.dubbo包实现自己的扩展而不是依赖 bridge API并且该模块终将移除。也就是说即便暂时留在 2.7新增的 Filter、Router 等自定义扩展也应按 2.7 新包名的 API 实现把com.alibaba.dubbo桥接层仅当作存量代码的过渡方案。核对所选版本与 JDK 是否匹配选定组合后用以下方式在本地和项目内核对确认运行/编译 JDK。与 Jenkinsfile 中 CI 使用的检查方式一致java -version输出的主版本号必须落在所选版本在 README 表格中的区间内例如 3.3.6 对应 1.8 – 21。核对发行版依赖。README 为每个版本指向对应 release tag 下的dubbo-dependencies-bom/pom.xml在当前仓库中对应 dubbo-dependencies-bom/pom.xml检查第三方依赖的引入方式import scope与你的构建管理方式是否一致。若从 2.7 迁移确认存量代码引用的包名。2.7.x 已改名为org.apache.dubbo仍引用com.alibaba.dubbo的类属于dubbo-compatible桥接层范围应按 dubbo-compatible/README.md 的建议逐步替换为新 API。边界提示2.6.x/2.5.xJDK 1.6 – 1.7同样已 EOL且 JDK 支持区间与 2.7 完全不重叠不在本文的选型讨论范围内任何 JDK 9 以上环境都不能选择 2.x 线中的任何一个版本。【免费下载链接】dubboThe java implementation of Apache Dubbo. An RPC and microservice framework.项目地址: https://gitcode.com/GitHub_Trending/du/dubbo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表