本文咱们简略聊聊当下支流的 3 个 Java 微服务框架,看看各自的特点。
1. Spring and Spring Boot
Spring Boot 在 Java 微服务畛域相对是一哥,毫无争议,据说曾经占据 57% 的市场份额。
Spring Boot 这么牛是有情理的,它太成熟了,性能个性极其丰富,不论你的需要多简单,都能满足你。
还内置了各种通用的性能,例如平安认证等等,开箱即用,十分不便。
SpringBoot 配置优先的理念大大简化了开发,通过主动配置能够非常简单的集成各种技术。
SpringBoot 集成了嵌入式的 Tomcat,利用打成 jar 包即能够运行,能够不便的运行在容器中。
SpringBoot 是开源的,文档很全,社区也沉闷。
从学习、开发,到部署运行,都这么便捷,想不火都难。
官网地址:
https://spring.io
2. Dropwizard
Dropwizard 是一个开源的 RESTful 疾速开发框架,对微服务的开发也极其敌对,而且性能很强。
Dropwizard 也是打成 Jar 运行,SpringBoot 默认集成的是 Tomcat,Dropwizard 集成的是 Jetty。
Dropwizard 有一个特点,它集成了各个领域的龙头技术,而且不可替换,不像 SpringBoot 集成的那么多,供大家抉择。
例如:
- WebServer 选 Jetty
- REST 选 Jersey
- 监控选 Metrics
- 日志用 Logback、slf4j
这样的话就不须要咱们本人抉择了,简略了很多。
而 SpringBoot 的思路是全面容纳,你想用啥都行,我都反对,例如 WebServer 你能够用 Tomcat,也能够选 Jetty、Undertow。
Dropwizard 本身是不反对依赖注入的,但集成了这个畛域的强人 Guice 和 Dagger。
官网地址:
https://www.dropwizard.io
3. Micronaut
Micronaut 有 3 个突出的特点:
- 启动极快
- 内存占用少
- 原生反对 ServerLess
IOC 是 Spring 引以为傲的个性,是基于大量的反射实现的,但这会影响启动速度,Micronaut 没有这么做,较少的应用了反射和代理,所以启动飞快,而且 Micronaut 是基于 GraalVM 的,加强了其速度和内存方面的劣势。
Micronaut 应用的是 Netty,所以对响应式编程的反对也是一流的。
官网地址:
SpringBoot 咱们都很相熟了,倡议也理解一下 Dropwizard 和 Micronaut,有利于扩大咱们的思路。
举荐浏览
OAuth2 图解
轻松了解 Kubernetes 的外围概念
开发者必须要理解的架构技术趋势:Service Mesh