最近栈长看到一个框架,官方号称可以比 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 捣鼓……

Github地址:https://github.com/networknt/light-4j

栈长有话说

看完你可能觉得呵呵了,有人用吗?

这个栈长我目前没有可靠数据,但这个框架的性能表现和内存消耗真的非常惊人,以及它的各种功能特性都值得借鉴。

至于比 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框架!的更多相关文章

  1. thymeltesys-基于Spring Boot Oauth2的扫码登录框架

    thymeltesys thymelte是一个基于Spring Boot Oauth2的扫码登录框架,使用PostgreSQL存储数据,之后会慢慢支持其他关系型数据库.即使你不使用整个框架,只使用其中 ...

  2. Spring Boot (三): ORM 框架 JPA 与连接池 Hikari

    前面两篇文章我们介绍了如何快速创建一个 Spring Boot 工程<Spring Boot(一):快速开始>和在 Spring Boot 中如何使用模版引擎 Thymeleaf 渲染一个 ...

  3. Spring boot接受json赋值给java对象

    Spring boot接受json赋值给java对象 新建 模板 小书匠 前言 写这个东西,一方面是我自己在做项目的时候,对json的使用还不是十分的熟悉,对spring boot的使用也不是很熟悉, ...

  4. 在Spring Boot项目中使用Spock测试框架

    本文首发于个人网站:在Spring Boot项目中使用Spock测试框架 Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring Boot项目 ...

  5. Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题【转】

    Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题 http://blog.didispace.com/Spring-Boot-And-Feign- ...

  6. fasthttp:比net/http快十倍的Go框架(server 篇)

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/574 我们在上一篇文章中讲解了 Go HTTP 标准库的实现原理,这 ...

  7. 启动spring boot项目时报错:java.lang.ClassNotFoundException: javax.servlet.Filter

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  8. 据说比Spring快44倍的web开发框架,不妨试试

    该框架称为:**light-4j **.官方网站简介:A fast, lightweight and more productive microservices framework.很简单,翻译过来就 ...

  9. SpringBootService,一个基于spring boot搭建的SOA服务框架

    SpringBootService,这是一个spring boot微服务的框架,包括redis,mq,restful,定时器,mybatis.易扩容.易维护的架构. 项目说明 该项目使用maven进行 ...

随机推荐

  1. CSS float:right 在IE浏览器下换行

    在换行的html标签内加如下样式 style="right: 0px; position: absolute;"

  2. CyclicBarrier简介

    CyclicBarrier简介 CyclicBarrier和CountDownLatch不同,是当await的数量达到了设定的数量之后,才继续往下执行 CyclicBarrier数的是调用了Cycli ...

  3. orcl数据库命令行怎么导入dmp格式的文件

    2018-05-23 1.创建空间 以system的身份登陆orcl 打开SQL Window界面,输入以下命令create tablespace SGXC(表空间的名字)datafile 'D:/S ...

  4. 【bzoj 2326】【HNOI 2011】数学作业

    题解: 矩阵裸体. #include<cstdio> #include<cstring> #include<cmath> typedef long long ll; ...

  5. BZOJ_3669_[Noi2014]魔法森林_LCT

    BZOJ_3669_[Noi2014]魔法森林_LCT Description 为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士.魔法森林可以被看成一个包含个N节点M条边的无向图,节 ...

  6. BZOJ_1101_[POI2007]Zap_莫比乌斯反演

    题意:FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到 ...

  7. 一大波开发者福利来了,一份微软官方Github上发布的开源项目清单等你签收

    目录 微软Github开源项目入口 微软开源项目受欢迎程度排名 Visual Studio Code TypeScript RxJS .NET Core 基础类库 CNTK Microsoft cal ...

  8. Java:基于MD5的文件监听程序

    前述和需求说明 和之前写的 Python:基于MD5的文件监听程序 是同样的功能,就不啰嗦了,就是又写了一个java版本的,可以移步 python 版本去看一下,整个的核心思路是一样的.代码已上传Gi ...

  9. 基于 websocket 实现的 im 实时通讯案例

    分享利用 redis 订阅与发布特性,巧妙的现实高性能im系统.为表诚意,先贴源码地址:https://github.com/2881099/im 下载源码后的运行方法: 运行环境:.NETCore ...

  10. Docker安装+HelloWorld+运行Tomcat

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 上一篇已经讲解了为什么需要Docker?,相信大家已 ...