百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Java:8个用于云原生世界的Java框架

ccwgpt 2025-04-07 12:44 33 浏览 0 评论

  云原生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 转换的库。如果函数触发器为调用提供元数据,则框架直接处理它。

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


相关推荐

一个基于.Net Core遵循Clean Architecture原则开源架构

今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...

AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%

写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...

OneCode低代码平台的事件驱动设计:架构解析与实践

引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...

国内大厂AI插件评测:根据UI图生成Vue前端代码

在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...

AI+低代码技术揭秘(二):核心架构

本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...

GitDiagram用AI把代码库变成可视化架构图

这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...

30天自制操作系统:第六天:代码架构整理与中断处理

1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...

AI写代码越帮越忙?2025年研究揭露惊人真相

近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...

一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具

一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...

5分钟掌握 c# 网络通讯架构及代码示例

以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...

从复杂到优雅:用建造者和责任链重塑代码架构

引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...

低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈

专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...

框架设计并不是简单粗暴地写代码,而是要先弄清逻辑

3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...

大佬用 Avalonia 框架开发的 C# 代码 IDE

AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...

轻量级框架Lagent 仅需20行代码即可构建自己的智能代理

站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...

取消回复欢迎 发表评论: