Spring Boot 3.3 提升性能、安全性和可观察性

Spring Boot 3.3 提升性能、安全性和可观察性

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

VMware发布了Spring Boot 3.3版本,包括了性能、安全性和可观察性改进。升级包括了CDS加快启动速度和减少内存使用、虚拟线程支持Websockets、JWT身份验证增强安全性、SBOM支持改进供应链安全性。升级还包括了ActiveMQ和LDAP的扩展服务连接选项、Bitnami容器镜像的Docker Compose支持以及Spring项目和第三方库的升级。

🔎

延伸解读

CDS 优化启动与内存的实操方式

Spring Boot 3.3 集成了 CDS 特性,可通过 tools jarmode 从 fat JAR 中提取出 CDS 友好的布局,将依赖库拆分为独立 JAR。这有助于减少启动时间和内存占用。开发者可使用 java -Djarmode=tools -jar your-application.jar extract 命令生成布局,再以 java -jar your-application/your-application.jar 运行。该特性基于 Spring Framework 6.1 的集成,适合对启动性

虚拟线程与 WebSocket:性能提升但需实测

Spring Boot 3.3 为 WebSocket 增加了虚拟线程支持,旨在进一步提升性能。但文章指出,虚拟线程在某些情况下可能不如传统线程池快,并引用了一项近期案例研究。因此,在采用虚拟线程优化 WebSocket 时,建议结合具体负载进行基准测试,避免盲目替换线程池导致性能回退。

安全与供应链:JWT 自动配置和 SBOM 端点

在安全方面,Spring Boot 3.3 会在设置特定属性时自动配置 JwtAuthenticationConverter 或 ReactiveJwtAuthenticationConverter,简化 JWT 身份验证。同时,新增 actuator 端点暴露 SBOM,路径为 META-INF/sbom/bom.json 或 META-INF/sbom/application.cdx.json,便于供应链安全管理。这些改进有助于提升应用安全性和可审计性。

依赖升级与迁移注意点

Spring Boot 3.3 升级了多项依赖,包括 Spring Security 6.3.0、Spring Data 2024.0.0、Flyway 10.10、Infinispan 15 等。其中 Flyway 10 更模块化,部分数据库支持移至独立模块;Infinispan 15 提升了 Jakarta EE 基线,标准模块如 infinispan-core 取代了 *-jakarta 模块。此外,移除了对 Dropwizard Metrics 的依赖管理,并更新了 Prometheus Client 至

❓

Q&A

Spring Boot 3.3的主要改进是什么?

Spring Boot 3.3主要在性能、安全性和可观察性方面进行了改进,包括CDS加快启动速度、虚拟线程支持Websockets、增强的JWT身份验证和SBOM支持。

CDS在Spring Boot 3.3中有什么作用?

CDS可以显著减少启动时间和内存消耗,使Spring Boot能够创建CDS友好的布局。

Spring Boot 3.3如何增强安全性?

Spring Boot 3.3通过自动配置JwtAuthenticationConverter类来增强安全性,支持JWT身份验证。

Spring Boot 3.3支持哪些新的服务连接选项?

Spring Boot 3.3新增了对Apache ActiveMQ和LDAP的扩展服务连接选项。

Spring Boot 3.3对Docker Compose的支持有哪些变化?

Spring Boot 3.3现在支持Bitnami容器镜像的Docker Compose,扩展了对多种技术的支持。

Spring Boot 3.3的发布计划是什么?

根据发布计划,VMware计划于2024年11月21日发布Spring Boot 3.4。

🏷️

标签

➡️

继续阅读