java架构师培训-微服务的可用框架有哪些

近年来,出现了一些新的框架,声称可以减少Java应用程序的启动时间和内存使用量。最近,Java已用于设计大规模微服务体系结构应用程序。在设计之前,我们必须首先确定哪个Java框架最适合微服务架构。

Spring

Spring于2003年启动,旨在解决旧时Java企业开发的复杂性。Spring以依赖注入和面向方面的编程为核心,并发展成为易于使用的Web应用程序开发框架。Spring拥有大量文档,广泛的用法和无数的库,使开发人员可以有效地创建和维护应用程序,并提供平坦的学习曲线

Spring通过反射在运行期间执行依赖注入。当一个Springapplicaiton启动时,在类路径(classpath)中,被标记的类(annotatedclasses)会被扫描到,由此,具体的类对象被实例化和被连接。

尽管这可以提高应用程序的灵活性,但是它也减慢了应用程序的启动时间并增加了内存开销。同时,由于GraalVM不支持反射,因此该机制使其很难迁移到GraalVM。

Micronaut

Micronaut[是一个现代化的微服务架构框架,由Grails框架的作者在2018年开发。

java架构师培训

它提供了创建功能齐全的微服务应用程序所需的所有必要工具。同时,它的目标是使应用程序快速启动,并降低内存开销。所有这些都是在编译时而不是运行时发生的。Java注释处理器用于执行依赖项注入,创建面向方面的代理和配置应用程序。

Micronaut的许多API均受Spring和Grails的启发。这种设计很快引起了新开发人员的注意。Micronaut提供了许多模块,例如MicronautHTTP,数据,安全性和用于连接其他技术的连接器。但是,就成熟度而言,这些Micronaut库在Spring中落后于相应的库。

Quarkus

Quarkus在2019年由红帽开发,是一个Kubernetes原生的Java框架。它依托于MicroProfile,Vert.x,Netty和Hibernate。

Quarkus的目标是允许Java在容器编排环境中具有更快的启动速度,更低的内存开销和近乎瞬时的可伸缩性,并希望Java成为Kubernetes环境中的主导平台。为了实现这个目标,Quarkus在编译过程中通过自定义Maven插件做了尽可能多的工作。

Quarkus使用了大量已存在的标准技术,同时对扩展开放。然而这个项目是一年前才开始的,这些扩展的成熟度和兼容性还不明确,很有可能在将来随着平台的成长发生改变。

HelidonMicroProfile

MicroProfile项目始于2016年,那时候,大家对于Oracle会在Java企业级开发这块持续发力,觉得前途未卜。

像它的先驱JEE,MicroProfile只是一份规范,可以被具体架构来实现。

随后,许多具体的实现出现在大家面前,其中最著名的是PayaraMicro和HelidonMP。Payara是一种起源于GlassFish的Jakarta企业级服务器,也是MicroProfile的一个实现。Helidon则是一个运行时,由Oracle公司在2018年发起,并提供了对于MicroProfile规范的实现。

虽然它们都来自于JEE,并且MicroProfile规范文档成熟与完善,但是缺少了针对其他现代技术的连接器或是一些必要的库来替代SpringData和SpringSecurity。

MicroProfile的未来是不明朗的,与它同在Eclipse基金会的另一个项目JakartaEE,也刚刚开始发展起来。在未来,两者很有可能会合并——至少紧密关联。

推荐阅读:【鲁班学院】微服务架构设计分类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值