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

2021年01月27日 20:01

90

    近年来,出现了一些新的框架,声称可以减少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,也刚刚开始发展起来。在未来,两者很有可能会合并——至少紧密关联。


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



更多鲁班学院java高级培训免费课程试听地址https://www.lubanjava.com/course.html

鲁班学院java高级培训课程https://www.lubanjava.com/course/detail/519.html

加群即可领取鲁班学院最新Java高级培训课程资料学习包 群号:700541970



咨询(2)
免费试听
领取优惠
加群交流

扫一扫
加群领取架构师资料

售后反馈
返回顶部