1、spring boot
java构建spring应用程序已经有很长一段时间了,spring boot是spring的一个特定版本,它通过对配置细节的处理,使微服务构建更加简便。创建spring boot旨在自启动任何类型的spring项目,而不仅仅是微服务。应用程序完成后,spring boot将在web服务器中混合,并输出一个jar文件,jvm除外。你可以将其视为原始docker容器。这也是许多负责构建微服务的开发者都非常喜欢spring boot的原因。
2、eclipse microprofile
2016年,java enterprise社区决定清理java enterprise edition中的内容,以便人们可以使用经典部件构建简单的微服务。他们去除了大量的库,但保留了处理rest请求,解析json和管理依赖注入的功能代码,最终被称为eclipse microprofile,其特性为快速而简单。
从那以后,microprofile社区制定了一个协议,每季度发布一个新版本,同时添加新代码以保持微服务平稳安全地运行。任何java ee开发者都会非常熟悉开发过程和代码结构,而且还吧配置麻烦给省去了。
(视频教程推荐:java视频)
3、dropwizard
当dropwizard在2011年出现时,dropwizard框架为开发者提供了一个非常简单的模型,里面包含了许多重要的模块,你可以根据需求添加一些业务逻辑,或者配置其他内容,最后你会发现jar文件非常小,并且能够快速启动。
4、wildfly thorntail
red hat的工作人员使用一个灵活的配置工具构建了他们自己的microprofile版本。该框架最初被称为wildfly swarm,但后来被重新命名为wildfly thorntail,thorntail通过指定所需的特性来帮助您创建自己的maven构建文件,然后maven负责组装所有东西。
5、helidon
helidon去除了java enterprise edition,保留轻量级的、基于servlet的核心,并吸引了大量的粉丝。在helidon的,开发人员从netty,并添加代码进行路由和错误处理。它采用了代码的两个基本模型,即所谓的se和mp版本。
node 开发者可能更熟悉helidon se,因为其具有由句点连接的函数调用。使用jax-rs的java程序员则更熟悉helidon mp。此外,helidon还集成了一些备受好评的工具,这些都是它能够吸引大量开发者的原因。
6、cricket
另外一个用于快速api开发框架的是cricket。cricket很小,尽管它包括许多额外的功能,如键值数据存储,以避免连接数据库和调度程序来控制后台重复处理。没有添加复杂性或其他依赖项,因此很容易将代码添加到cricket并启动独立的微服务。
7、jersey
开发web服务的标准方法之一是restful web服务的java api(又名jax-rs),这是jersey框架中实现的通用规范。这种方法主要依赖于使用注释来指定路径映射和返回细节。从参数解析到json打包的所有其他内容都由jersey处理。
jersey的主要优点是它实现了jax-rs标准,这个特性非常受欢迎,一些开发人员习惯将jersey与spring boot结合在一起使用。
8、play
体验jvm跨语言能力的最佳方式之一是使用play框架,这是可以与java或任何其他jvm语言兼容的。它的基础非常现代,具有异步、无状态的模型,不会让试图跟踪用户及其会话数据的线程使服务器过载。还有许多额外的特性可以用来充实网站,比如openid、验证和文件上传支持。
9、swagger
构建一个api看起来就像编写一个监听端口的代码一样简单,但是swagger的开发人员不这么认为。他们已经创建了一个完整的api规范语言openapi,你可以使用它来说明你的api。这似乎是一个额外的步骤,但是swagger团队还提供了将该规范转换为自动化测试、文档等的代码。
swagger配置文件中的api很简单,用于实现接口、记录接口的,并提供一组工具来测试构建在其下的代码,甚至还有一种api治理机制。
10、restlet
不同框架之间最大的区别之一是和其他服务或库的连接数量。restlet项目提供了更大的特性和连接集合,它已经与javamail之类的库集成,避免微服务需要对某些邮件服务器使用pop、imap或smtp;为防构建大量文本索引和元数据,还集成了 lucene 和 solr。
restlet中还有很多特性在持续开发。例如,你不需要使用json,因为它可以直接处理xml、csv、yaml和其他一些文件格式,此外,它还允许用户从chrome浏览器测试api。
推荐教程:java入门程序
以上就是常用的java微服务框架有哪些的详细内容。
