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
暂无评论