高通骁龙|Java:8个用于云原生世界的Java框架

【高通骁龙|Java:8个用于云原生世界的Java框架】高通骁龙|Java:8个用于云原生世界的Java框架

文章图片


云原生Java框架旨在支持可独立安装和重新启动的微服务群 , 它们通常在Docker或Podman等容器中发布 , 以实现最快的构建和安装 。
寻求云原生体验的Java开发人员有多种选择 , 一个理想的云原生Java框架利用Java平台及其第三方库中投入的丰富经验 , 同时使它们在云中运行得更快、更轻便 。 以下是为云原生开发和部署从头开始构建的八个Java框架 。
Micronaut
Micronaut 的创建者希望利用 Spring 和 Grails 等经典Java框架的最佳部分——例如灵活的配置和依赖项注入——但消除了繁重的内存占用和缓慢的启动 , 这使得它们对于开发微服务不太理想 。 他们精心设计了注释 , 为依赖注入提供了足够的信息 , 而无需在旧框架中使用内存填充反射 。 在编译时完成更多 Micronaut 的配置意味着代码运行得更快、更轻 。
构建该框架是为了支持各种基于JVM的语言(目前是Java、Kotlin和Groovy )并在各种云上运行它们 。 预定义的配置文件简化了在所有主要云上部署服务器或无服务器功能 , 并且有针对所有主要数据库连接的精心编写的文档页面 。
Quarkus
想要使用命令式和反应式代码的混合代码的开发人员可以用Quarkus 。 Quarkus团队从预测云原生开发的最常见用例开始 , 然后用支持这些用例的示例构建框架 , 几乎不需要配置 。 结果可以很容易地放入容器中 , 并部署在技术集群 。
开发团队特别注意确保快速启动 , 以便Kubernetes集群可以快速扩展 。 对于偶尔运行的函数来说 , 这是一个理想的特性 , 因为它们在被调用之前可以一直处于冷状态 。

Spring云函数
Java开发人员非常熟悉Spring框架 , 因为近二十年来 , 它一直是许多项目的基础 。 Spring的开发人员决定创建一个更适合云部署以及其他一些角色的新版本 。 Spring云函数中的功能旨在轻松地重新部署到各种任务中 , 如web服务、流处理或后台工作 。
Spring云函数框架延续了许多由Spring开创的哲学传统 , 该框架中的云功能支持反应式或命令式风格 , 以及两者的混合 。 Java培训中也有针对云计算的课程 , 对这方面感兴趣的同学可以报名学习一下 , 比自学会有效很多 。
Vert.x
Vert.x 的创建者希望通过简化事件循环和优化与数据库的连接来创建一个非常快速的框架 。 Vert.x 有一个像 Node.js 一样的事件循环 , 它允许它在事件到达时处理多个连接 , 它还利用Java的线程模型来处理池中的多个线程的事件 , 如果可用 , 它们可以在多个内核上运行 。
该结构还旨在简化处理事件流的管道的创建 。 它借用承诺和未来这样的结构来避免带有分层回调的混乱代码 。 当事件沿着事件总线移动时 , 异步选项有助于生成充满简单方法调用链的清晰可读的代码 。
Eclipse MicroProfile
Eclipse 团队创建了 MicroProfile 项目 , 以此来调整 Jakarta EE 以运行较小的微服务群 。 它去除了一些较大平台的开销 , 同时将许多微服务架构的标准库捆绑在一起 。
这种方法对于那些可能从较大、较旧的JavaEE或Jakarta EE项目中迁移代码的开发人员来说最有吸引力 。 大部分配置和架构保持不变 。 在许多情况下 , 调整是微小的 。 但是这种设计鼓励做出更简单的决定来创建更轻、更快的代码 。 一些开发人员使用MicroProfile作为通向更现代的云原生框架的垫脚石 。

Dropwizard
一些开发人员对老的、经过良好测试的模块有一种天然的感情 , 他们会喜欢Dropwizard 。 Dropwizard的开发团队一直强调这样的词语稳定的和成熟的 。 他们收集了用于数据库连接的模块 , 如Hibernate , 并混合在表单和其他标准web应用程序组件的框架中 。 Dropwizard还简化了依赖注入和运行时维护过程 , 如配置和日志记录 。