4年前 (2021-05-20)  微服务 |   抢沙发  926 
文章评分 0 次,平均分 0.0

Micronaut框架介绍

Micronaut是一个基于JVM的开源软件框架,用于构建轻量级、模块化的应用程序和微服务Micronaut以其帮助开发人员创建内存占用小、启动时间短的应用程序和微服务的能力而闻名。Micronaut框架的一个重要优点是启动时间和内存消耗与应用程序的代码库大小无关。这使得集成测试的开发更加容易,执行也更加快速。

Micronaut和其他框架的一个很大区别是,Micronaut在编译应用程序时就分析元数据。在此编译阶段,Micronaut将生成一组额外的类,这些类表示已经预配置的应用程序的状态。这使得依赖注入(DI)和面向切面编程(AOP)行为能够在应用程序最终运行时更有效地应用。

Micronaut于2018年由Grails框架的创建者推出,它为服务发现、分布式配置、客户端负载平衡和身份验证提供本机支持。该框架由apachelicense2授权,Micronaut基金会负责监督最佳实践和文档。

关于Micronaut,开发人员应该知道什么?

Micronaut框架设计用于构建和测试低内存微服务、serverless应用程序和消息驱动微服务。

它避免了大多数传统Java框架的共同缺点,包括依赖注入的运行时反射、动态类加载、运行时字节码生成和代理生成。这个框架是专门为云架构设计的。Maven和Gradle可以用作构建工具。

模块化框架的组件预先定义了程序员如何解决以下问题:

  • 依赖注入
  • 控制反转(IoC)
  • 面向切面编程(AOP)
  • 配置和配置共享
  • 服务发现
  • HTTP路由
  • 客户端负载平衡
  • 代理

Micronaut是如何工作的?

Micronaut被设计成一个客户端和服务器框架。该框架具有一个基于注释的编程模型,与Java Spring框架非常相似。然而,与Spring框架不同的是,Micronaut不使用Java反射api。相反,它通过注释处理器直接与Java编译器集成。这允许Micronaut计算一组附加的类,这些类与用户定义的类并排。这些类用于执行依赖注入,以及以完全无反射的方式定义编译时间和面向方面的代理。

然而,由于Micronaut直接与语言编译器集成的方式,Micronaut目前只能支持Java、Kotlin或Groovy等JVM语言。有计划在未来引入对其他语言的支持。

为什么Micronaut如此适合微服务?

Micronaut有许多为微服务量身定制的功能,包括:

反应流Reactive Streams

Micronaut支持任何实现反应流标准的框架。该框架还集成了SQL和NoSQL数据库的反应式数据库驱动程序。

信息驱动的微服务

Micronaut支持许多不同的消息传递系统,包括Kafka、RabbitMQ、MQTT、JMS和NATS.io。Pulsar支持计划在未来发布。

Serverless功能

Micronaut支持为许多不同的云提供商开发、测试和部署无服务器功能,包括AWS Lambda、Oracle功能、Google云功能和Azure功能。

OpenAPI文档

Micronaut在编译时创建一个YAML文件,以后可以作为静态资源添加,也可以使用Swagger UI等工具通过浏览器提供。

GraalVM-ready

Micronaut应用程序可以编译成GraalVM本机映像,从而进一步减少启动时间。GraalVM使用封闭世界静态分析方法来生成需要为应用程序的任何动态部分进行配置的本机映像。Micronaut相对缺乏反射和动态类加载意味着需要更少的配置才能使GraalVM本机映像正常工作。

 

除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/1933.html

关于

发表评论

表情 格式

暂无评论

登录

忘记密码 ?

切换登录

注册