3 个主流 Java 微服务框架的特点分析

createh51个月前 (02-01)技术教程13

本文我们简单聊聊当下主流的 3 个 Java 微服务框架,看看各自的特点,下面和千锋广州小编一起来看看吧!

1. Spring and Spring Boot

image

Spring Boot 在 Java 微服务领域绝对是一哥,毫无争议,据说已经占据 57% 的市场份额。

Spring Boot 这么牛是有道理的,它太成熟了,功能特性极其丰富,不管你的需求多复杂,都能满足你。

还内置了各种通用的功能,例如安全认证等等,开箱即用,非常方便。

SpringBoot 配置优先的理念大大简化了开发,通过自动配置可以非常简单的集成各种技术。

SpringBoot 集成了嵌入式的 Tomcat,应用打成 jar 包即可以运行,可以方便的运行在容器中。

SpringBoot 是开源的,文档很全,社区也活跃。

从学习、开发,到部署运行,都这么便捷,想不火都难。

官网地址:

https://spring.io

2. Dropwizard

image

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

image

Micronaut 有3个突出的特点:

  • 启动极快
  • 内存占用少
  • 原生支持 ServerLess

IOC 是 Spring 引以为傲的特性,是基于大量的反射实现的,但这会影响启动速度,Micronaut 没有这么做,较少的使用了反射和代理,所以启动飞快,而且 Micronaut 是基于 GraalVM 的,增强了其速度和内存方面的优势。

Micronaut 使用的是 Netty,所以对响应式编程的支持也是一流的。

官网地址:

https://micronaut.io/

SpringBoot 我们都很熟悉了,建议也了解一下 Dropwizard 和 Micronaut,有利于扩展我们的思路。

相关文章

如何通过Serverless提高 Java 微服务治理效率?

简介: 在业务初期,因人手有限,想要快速开发并上线产品,很多团队使用单体的架构来开发。但是随着公司的发展,会不断往系统里面添加新的业务功能,系统越来越庞大,需求不断增加,越来越多的人也会加入到开发团队...

15年大牛用140多个实战案例深入讲解Java微服务架构文档

前言本文是由15年开发大牛用140个实战案例,完美演示Java微服务架构实战:SpringBoot +SpringCloud +Docker +RabbitMQ;用丰富的架构图示+手把手步骤学习,带领...

基于OpenTelemetry实现Java微服务调用链跟踪

本文分享自华为云社区《基于OpenTelemetry实现Java微服务调用链跟踪-云社区-华为云》,作者: 可以交个朋友。一 背景随着业务的发展,所有的系统都会走向微服务化体系,微服务进行拆分后,服务...

阿里内网不传之秘:Java微服务实战笔记,共140个案例手把手教学

微服务是当下所有互联网项目的首选架构,已经成为高级Java程序员必备技能。然而,目前网络中的微服务课程主要围绕SpringCloud相关技术栈,微服务不仅仅是SpringCloud,还包括很多分布式系...

微服务测试的不同策略之测试Java微服务,看完秒懂

测试Java 微服务在开发新应用程序时,我们也不应该忘记自动化测试。如果考虑使用基于微服务的架构,这些则特别重要。测试微服务所需要采用的方法与测试一体化应用程序所采用的方法不同。就一体化应用程序而言,...

真香!用这个开源项目来入门Spring Cloud微服务

前言推荐理由:项目文档非常完善技术栈也比较新,各种版本都有(分离不分离微服务版本)。平台简介若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。采用前后端分离的模式,微服务版本前端(基于...