云原生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还简化了依赖注入和运行时维护过程,如配置和日志记录。

Dropwizard是修改和扩展现有应用程序的团队的最爱。该结构与旧的、成熟的方法兼容,因为它是建立在它们之上的。

云平台的入门框架

有时候,不需要复杂或精细的东西。所有的云都维护着基本的例子,这些例子是开始编写简单函数的好地方。它们主要用于支持非常简单的决策,并帮助开发人员快速启动。

例如,谷歌云平台的开发团队开源了他们在其功能即服务 (FaaS) 中运行的Java功能的基本框架。使用它构建的代码旨在与 GCP 的标准触发器快速集成,尽管它也可以在任何本地机器上成功运行。

微软还开源了它的Java框架。该模型包括几个用于简化数据传输的例程,例如用于将 JSON 数据转换为JavaPOJO 和从JavaPOJO 转换的库。如果函数触发器为调用提供元数据,则框架直接处理它。

这两个框架都允许你通过编写一个具有单一函数的类来完成许多简单的工作。更复杂的项目可能希望将这个基本工具与其他一些框架合并。这些只是起点,但有时这就足够了。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部