4年前 (2021-03-23)  相关技术 |   抢沙发  631 
文章评分 0 次,平均分 0.0

Micronaut是什么?

Micronaut:现代的JVM微服务框架

一个现代的、基于JVM的、全栈框架,用于构建模块化的、易于测试的微服务应用程序micronaut.io

Micronaut是Grails团队在2018年Greach大会上正式宣布的一个全新的全栈框架。它专注于模块化、最小的内存占用和启动时间,这使得它成为运行在AWS lambda或类似环境中的完美解决方案。用Java编写的服务器需要不到1秒的时间来启动8mb的最小JAR大小。Micronaut支持Java、Groovy和Kotlin语言。

Micronaut的主要优点是,在配置和依赖项注入中保存元数据不会受到运行时修改。您可以将Micronaut看作没有任何运行时反射的Spring。每一个信息都是在编译时使用Groovy AST transformation或用于Java和Kotlin的AST处理器来处理的。Micronaut使用受Spring启发的内部依赖注入模块,Spring利用了官方JSR-330上下文和依赖注入注释。

Micronaut代码看起来非常类似于启用了SpringCloud的SpringBoot。您可以编写具有无缝负载平衡的HTTP服务器和HTTP客户机。对服务发现、Hystrix、跟踪日志记录、缓存、容错和断路器模式提供现成的支持。反应流支持是框架不可或缺的一部分,因此您的控制器和客户机可以使用RxJava2对象作为输入和输出,例如Single<MyObject>

Controller层示例:

@Controller("/") class HelloController {
    
    @Get("/hello/{name}") String hello(String name) {
        return "Hello $name"
    }
}

客户端示例:

@Client("/") interface HelloClient {
    @Get('/hello/{name}') Single<String> hello(String name)
}

Fallback端示例:

@Fallback class HelloFallbackClient {
    Single<String> hello(String name) {
        return Single.just("Hello fallback $name")
    }
}

Spring Boot类似,您可以使用@Requires注释声明自己的自动配置bean。它还与Spring Boot共享配置属性。您甚至可以使用SPRING_APPLICATION_JSON environment属性来实现后端兼容性。您可以使用特定于环境的属性作为示例application-aws.yml用于部署到AWS。

Micronaut与Grails共享一些部件 - 例如,您可以在Micronaut microservice中使用GORM。

 

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

关于

发表评论

表情 格式

暂无评论

登录

忘记密码 ?

切换登录

注册