再见笨重的SpringBoot,这个神器框架终于发布了!
大家好,我是老赵
概述
SprintBoot总体来说,搭建还是比较容易的,特别是SpringCloud全家桶,简称亲民微服务,但在发展趋势中,容器化技术已经成熟,面对巨耗内存的SprintBoot,小公司表示用不起。如今,很多刚诞生的JAVA微服务框架大多主打“轻量级”,主要还是因为SprintBoot太重。
JAVA系微服务框架No1-Spring Cloud
>介绍
有Spring大靠山在,更新、稳定性、成熟度的问题根本不需要考虑。在JAVA系混的技术人员大约都听说过Spring的大名吧,所以不缺程序员……,而且这入手的难度十分低,完全可以省去一个架构师。但是,你必然在服务器上付出:
至少一台“服务发现 ”的服务器;
可能有一个统一的网关Gateway;
可能需要一个用于“分布式配置管理”的配置中心;
可能进行“服务追踪”,知道我的请求从哪里来,到哪里去;
可能需要“集群监控”;
项目上线后发现,我们需要好多服务器,每次在集群中增加服务器时,都感觉心疼;
>压测30秒
~压测前的内存占用
如图,内存占用304M。
~压测时的内存占用
如图,内存占用1520M(1.5G),CPU上升到321%
~概览
~总结
一个SprintBoot的简单应用,最少1G内存,一个业务点比较少的微服务编译后的JAR会大约50M;而SprintCloud引入的组件会相对多一些,消耗的资源也会相对更多一些。
启动时间大约10秒左右: Started Application in 10.153 seconds (JVM running for 10.915)
JAVA系响应式编程的工具包Vert.x
>介绍
背靠Eclipse的Eclipse Vert.x[1]是一个用于在JVM上构建响应式应用程序的工具包。定位上与SprintBoot不冲突,甚至可以将Vert.x结合SprintBoot使用。众多Vert.x模块提供了大量微服务的组件,在很多人眼里是一种微服务架构的选择。
华为微服务框架Apache ServiceComb[2]就是以Vert.x为底层框架实现的,在"基准测试网站TechEmpower"中,Vert.x的表现也十分亮眼。
>压测30秒
~压测前的内存占用
如图,内存占用65M。
~压测时的内存占用
如图,内存占139M,CPU占2.1%,给人的感觉似乎并没有进行压测。
~概览
~总结
Vert.x单个服务打包完成后大约7M左右的JAR,不依赖Tomcat、Jetty之类的容器,直接在JVM上跑。
Vert.x消耗的资源很低,感觉一个1核2G的服务器已经能够部署许多个Vert.x服务。除去编码方面的问题,真心符合小项目和小模块。git市场上已经出现了基于Vert.x实现的开源网关- VX-API-Gateway帮助文档[3] 对多语言支持,很适合小型项目快速上线。
启动时间不到1秒:Started Vert.x in 0.274 seconds (JVM running for 0.274)
JAVA系其他微服务框架
SparkJava
jar比较小,大约10M
占内存小,大约30~60MB;
性能还可以,与SprintBoot相仿;
Micronaut
Grails团队新宠;
可以用 Java、Groovy 和 Kotlin 编写的基于微服务的应用程序;
相比SprintBoot已经比较全面;
性能较优,编码方式与SprintBoot比较类似;
启动时间和内存消耗方面比其他框架更高效;
多语言;
依赖注入;
内置多种云本地功能;
很新,刚发布1.0.0
Javalin
上手极为容易;
灵活,可以兼容同步和异步两种编程思路;
JAR小,4~5M;
多语言;
有KOA的影子;
只有大约2000行源代码,源代码足够简单,可以理解和修复;
符合当今趋势;
多语言;
嵌入式服务器Jetty;
Quarkus
启动快;
JAR小,大约10M;
文档比较少,官方文档很丰富,DEMO也很多;
适合云原生;
native后,毫秒级启动很吸引人,占用内存很小很小,消耗资源少,性能很棒。
作者:襄垣
来源:https://sourl.cn/f4CGsu
精彩推荐
1.为什么 DNS 根服务器只有 13 台?给中国一台真的很难吗?
2.IntelliJ IDEA 到期了?手把手教你免费获取正版产品用到2089年
3.官宣了:IntelliJ IDEA 彻底弃用 Log4j !
4.SpringCloud 微服务架构,适合接私活(附源码)5.因为爬虫失控,CTO和程序员双双被判刑
6.甲方要求10W效果,一问预算就3千,程序员接私活项目现状
7.节后上班第一天公司要你用SpringBoot实现万能文件在线预览8.黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条新规约
点个在看少个 bug
再见笨重的SpringBoot,这个神器框架终于发布了!相关推荐
- Springboot,SSM框架比较,区别
百度搜 Springboot,SSM框架区别,大多说的都是 1.springboot一个应用是一个可执行jar 2.将原有的xml配置,简化为java配置 他们说的确实没错,可是根本没有说到本质,百度 ...
- SpringBoot集成MyBatis-Plus框架
1.说明 本文介绍Spring Boot集成MyBatis-Plus框架, 重点介绍需要注意的地方, 是SpringBoot集成MyBatis-Plus框架详细方法 这篇文章的脱水版, 主要是三个步骤 ...
- SpringBoot集成Log4j2框架
1.说明 本文详细介绍Spring Boot集成Log4j2框架的方法, 基于已经创建好的Spring Boot工程, 由于Spring Boot默认使用的是Logback框架, 需要先排除掉Logb ...
- SpringBoot集成MyBatis-Plus框架详细方法
1.说明 本文详细介绍Spring Boot集成MyBatis-Plus框架的方法, 使用MySQL数据库进行测试, 包括完整的开发到测试步骤, 从一开始的Spring Boot工程创建, 到MySQ ...
- 【Java从0到架构师】交错的日志系统、SpringBoot 集成日志框架
交错的日志系统.SpringBoot 集成日志框架 交错复杂的日志系统① - 多个项目实现 SLF4J 门面 交错复杂的日志系统② - 统一底层实现为 Logback 交错复杂的日志系统③ - 统一底 ...
- SpringBoot后端项目框架搭建
SpringBoot后端项目框架搭建 本节内容服务于SpringBoot + Vue 搭建 JavaWeb 增删改查项目. 工具安装 电脑已安装\配置如下工具: IDEA.jdk.MySQL及其可视化 ...
- SpringBoot 集成FluentMyBatis 框架之集成分页功能
本文基于上一篇:SpringBoot 集成FluentMyBatis 框架之完善 SpringBoot 集成FluentMyBatis 框架之集成分页功能 FluentMyBatis 官方分页 官方提 ...
- springboot+elasticsearch+bboss框架集成遇到的坑
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.为什么要用bboss? 二.遇到的坑 1.kibana.head页面查询结果不一致 2.head查询结果与bbos ...
- SpringBoot后台管理系统框架
SpringBoot后台管理系统框架 SpringBoot后台管理系统功能介绍 登录 注册 用户列表和添加功能 只是个框架 实现了shiro权限控制, 详细的shiro使用 一个模板项目系统 只有少量 ...
最新文章
- Spring5源码 - 00 IOC容器创建_前期准备
- 利用DAC(Data-tier Application)实现数据库结构迁移
- ?php query_posts(cat)?,query_posts()函数 (wordpress日志调用)
- Java 基本类型相互转换
- 【Python】WindowsError的错误代码详解
- 计算机新入学教案,计算机应用 新教案(1-6周).doc
- 在STM32CubeMX生成的MDK5工程上添加RT-Thread Nano后双击工程名无法打开.map文件的解决方法
- Solr入门——安装
- spy 控件没有名字_PyQt5学习笔记(十一)高级容器控件
- [php] 解析JSON字符串
- 游戏音效是用什么软件做的?
- xml网站地图在线生成制作工具
- 4、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle项目开发之——后台管理界面
- stm32关于can线的双机通信实验
- 《嵌入式系统 – NUC980 IoT应用开发实战指南(基于RT-Thread系统)》第3章 NUC980 IoT I2C实践
- 梅特勒托利多xk3124电子秤说明书_梅特勒托利多称重仪表XK3124 B520
- Vue项目实战:订单列表页面实现
- 一个上海同济大学教师的工资单(zt tianya)
- android 按钮带图标 阴影_Android Material Design系列之FloatingActionButton和Snackbar
- 当女生说没衣服穿时。。。。
热门文章
- __attribute__中的section的理解
- 为啥战术演练的时候还举着小红旗?
- 阿拉德之怒显示服务器错误,阿拉德之怒网络异常怎么办_阿拉德之怒网络繁忙解决方法介绍_玩游戏网...
- 英伟达显卡 NVIDIA
- 都市白领们值得收藏-大病之前的先兆,请有心人收藏分享一下!
- 使用Vue-Router 2实现路由功能
- 4.8A可调USB限流开关芯片,带短路保护
- 第二十一篇 数据增强
- java简单的图书管理系统(只用java代码不用数据库和可视化界面,一个管理员表和图书表)
- python红楼梦_用Python读红楼