一个比Spring Boot快44倍的Java框架!
最近栈长看到一个框架,官方号称可以比 Spring Boot 快 44 倍,居然这么牛逼,有这么神奇吗?今天带大家来认识一下。
这个框架名叫:light-4j。
官网简介:A fast, lightweight and more productive microservices framework
很简单,翻译过来就是:一个快速、轻量级和更高效的微服务框架。
为什么叫light-4j?
全称应该是:Light for Java,意味着轻量级,并以闪电般的速度来使用 Java 编程。
这个框架有什么用?
1、降低成本
为什么说它能降低成本,因为它速度非常快,占用内存也非常小。
重点来了,它比类似 Spring Boot 这种内嵌 Tomcat 式的主流微服务框架平台要快 44 倍,并且只需要用其 1/5 内存,听起来是不是很牛逼,确实是节约了不少内存空间。
这里有一份 benchmark 的测试报告,它与 Spring Boot 及其他微服务平台作了一个比较:

详细报告:https://github.com/networknt/microservices-framework-benchmark
很强大,性能与 Go 语言并肩,并且拥有更低的平均延迟。
这里还有一份与其他 web 框架的对比:
详细报告:https://www.techempower.com/benchmarks/#section=data-r15&hw=ph&test=plaintext
性能表现非常靠前,吊打 Spring 等各种框架!
2、丰富的特性
- 带有启动/关闭钩子和各种中间件的插件架构
- 分布式OAuth2 JWT安全验证作为框架的一部分
- 基于OpenAPI规范进行请求和响应验证
- 收集测量指标并支持服务和客户端在控制台显示
- 全局运行时异常处理,如API异常及其他受检查异常
- 在日志输出前加密敏感数据,如:信用卡、SIN号等
- 为请求参数、请求头、BODY清除跨站攻击脚本
- 重要信息或整个请求/响应的审计
- 请求体支持各种类型的content-type
- 配置标准化响应码及响应消息
- 支持外部配置化Docker环境所有模块
- 来自其他域名的跨域处理
- 支持对外提供的服务限速处理
- 服务发现与注册支持直连、Consul和Zookeeper
- 客户端侧发现和负载平衡,消除代理层
- 与Light-OAuth2紧密集成并支持可跟踪性
栈长先介绍到这,大家感兴趣的可以去 Github 捣鼓……

栈长有话说
看完你可能觉得呵呵了,有人用吗?
这个栈长我目前没有可靠数据,但这个框架的性能表现和内存消耗真的非常惊人,以及它的各种功能特性都值得借鉴。
至于比 Spring Boot 框架要快 44 倍,这个大家也不用太纠结,Spring 发展到今天,经过国外各种大神的打磨,可以说是非常精湛。
Spring 日益宠大的同时,其内部依赖集成了太多东西,在性能这方面没其他框架强,确实能够理解,但 Spring 的生态圈是没有任何框架可以比拟的。在追求性能的同时,它肯定也会牺牲很多东西,所以,我觉得一个生态繁荣的技术平台比追求性能更重要。
最后,你们有公司用过这个框架吗?你对这个框架怎么看,欢迎留言讨论~
关注Java技术栈微信公众号,在后台回复:boot,获取栈长整理的更多的 Spring Boot 技术文章,都是实战干货,以下仅为部分预览。
- Spring Boot 2.x 启动全过程源码分析
- Spring Boot 自定义日志详解
- Spring Boot 核心配置文件详解
- Spring Boot 最核心的 25 个注解!
- Spring Boot 集成Mybatis实现双数据源
- ……
本文原创首发于微信公众号:Java技术栈(id:javastack),关注公众号在后台回复 "工具" 可获取更多,转载请原样保留本信息。
一个比Spring Boot快44倍的Java框架!的更多相关文章
- thymeltesys-基于Spring Boot Oauth2的扫码登录框架
thymeltesys thymelte是一个基于Spring Boot Oauth2的扫码登录框架,使用PostgreSQL存储数据,之后会慢慢支持其他关系型数据库.即使你不使用整个框架,只使用其中 ...
- Spring Boot (三): ORM 框架 JPA 与连接池 Hikari
前面两篇文章我们介绍了如何快速创建一个 Spring Boot 工程<Spring Boot(一):快速开始>和在 Spring Boot 中如何使用模版引擎 Thymeleaf 渲染一个 ...
- Spring boot接受json赋值给java对象
Spring boot接受json赋值给java对象 新建 模板 小书匠 前言 写这个东西,一方面是我自己在做项目的时候,对json的使用还不是十分的熟悉,对spring boot的使用也不是很熟悉, ...
- 在Spring Boot项目中使用Spock测试框架
本文首发于个人网站:在Spring Boot项目中使用Spock测试框架 Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring Boot项目 ...
- Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题【转】
Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题 http://blog.didispace.com/Spring-Boot-And-Feign- ...
- fasthttp:比net/http快十倍的Go框架(server 篇)
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/574 我们在上一篇文章中讲解了 Go HTTP 标准库的实现原理,这 ...
- 启动spring boot项目时报错:java.lang.ClassNotFoundException: javax.servlet.Filter
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- 据说比Spring快44倍的web开发框架,不妨试试
该框架称为:**light-4j **.官方网站简介:A fast, lightweight and more productive microservices framework.很简单,翻译过来就 ...
- SpringBootService,一个基于spring boot搭建的SOA服务框架
SpringBootService,这是一个spring boot微服务的框架,包括redis,mq,restful,定时器,mybatis.易扩容.易维护的架构. 项目说明 该项目使用maven进行 ...
随机推荐
- loj6045 「雅礼集训 2017 Day8」价
我们考虑最小割. 我一开始觉得是裸的最小割,就直接S到每个减肥药连up+p[i]的边,减肥药到药材连inf边,药材到T连up,然后得到了40分的好成绩. 之后我发现这是一个假的最小割,最小割割的是代价 ...
- bzoj 2821 作诗 分块
基本思路和蒲公英一样 还是预处理出每两个块间的答案 询问时暴力跑两边的贡献 #include<cstdio> #include<cstring> #include<ios ...
- BZOJ_2738_矩阵乘法_整体二分
BZOJ_2738_矩阵乘法_整体二分 Description 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. Input 第一行两个数N,Q,表示矩阵大小和询问组数: 接下 ...
- json与javabean之间的转化
接着上一个http://www.cnblogs.com/ya-qiang/p/9009134.html随笔,继续介绍json与java对象之间的转化 一.java普通对象和json字符串的互转 jav ...
- asp.net core系列 43 Web应用 Session分布式存储(in memory与Redis)
一.概述 HTTP 是无状态的协议. 默认情况下,HTTP 请求是不保留用户值或应用状态的独立消息. 本文介绍了几种保留请求间用户数据和应用状态的方法.下面以表格形式列出这些存储方式,本篇专讲Sess ...
- 『发呆』.Net 2.0 ~ .Net 4.0 所实现了那些底层
随着时间的推移,程序越写越大,代码越写越少. 今天突然发呆,就想比较全面的汇总一下 .Net 2.0 和 .Net 4.0 都实现的功能. .Net 2.0 的大部分常见程序集 (已经过滤掉了一部分和 ...
- 那些年我们一起踩过的Dubbo"坑"
前言 微服务架构在如今的9102年已经不是什么新鲜的话题了,但是怎么做好微服务架构,却又是一个永恒的话题.比如服务粒度的划分,怎么控制好粗细?服务划分后,对于项目的部署会有什么改变?... 这会是一 ...
- sun.misc jar包
一直以来Base64算法的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder来进行的.但是这个类是sun公司的内部方法,并没有在Java API中公开过,不属 ...
- Redis主从同步要深入理解?一篇文章足矣!
前言: 今天想和大家分享有关 Redis 主从同步(也称「复制」)的内容. 我们知道,当有多台 Redis 服务器时,肯定就有一台主服务器和多台从服务器.一般来说,主服务器进行写操作,从服务器进行读操 ...
- mybatis入门系列一之创建mybatis程序
Mybatis基础系列一 创建第一个mybatis程序 需要配置项 1. 在conf.xml的需要配置配置两个标签数据库连接和mapper,xml文件加载信息 <-- 进行数据库环境参数的配置 ...