请给SpringBoot多一些内存
点击上方“方志朋”,选择“设为星标”
回复”666“获取新整理的面试资料
作者:襄垣
juejin.im/post/5c89f266f265da2d8763b5f9
概述
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是一个用于在JVM上构建响应式应用程序的工具包。定位上与SprintBoot不冲突,甚至可以将Vert.x结合SprintBoot使用。众多Vert.x模块提供了大量微服务的组件,在很多人眼里是一种微服务架构的选择。
华为微服务框架Apache ServiceComb就是以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帮助文档
https://duhua.gitee.io/vx-api-gateway-doc/
对多语言支持,很适合小型项目快速上线。
启动时间不到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;
文档很少;
热门内容:
Java 的 JSP 已经被淘汰了吗?
如何设计 QQ、微信、微博、Github 等等,第三方账号登陆 ?(附表设计)
SpringBoot+Mybatis+Swagger2环境搭建
微服务架构的四大金刚利器
“12306”的架构到底有多牛逼?
别在 Java 代码里乱打日志了,这才是正确的打日志姿势
假如有人把支付宝存储服务器炸了
SpringBoot微信点餐开源系统
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡
请给SpringBoot多一些内存相关推荐
- 请给 SpringBoot 多一些内存
点击关注公众号,实用技术文章及时了解 来源:juejin.im/post/5c89f266f265da2d8763b5f9 概述 SprintBoot总体来说,搭建还是比较容易的,特别是SpringC ...
- 面试题:请介绍⼀下 JMM(Java 内存模型)
面试题:请介绍⼀下 JMM(Java 内存模型) 关键词 CPU缓存一致性协议(例如MESI),多个CPU核心之间缓存不会出现不同步的问题 Store Buffer.Load Buffer和L1之间却 ...
- springboot运行时内存溢出_栈溢出的检测
说到stack(栈),大家很可能就会想起stack overflow(栈溢出),著名的程序问答网站http://stackoverflow.com 就是以此命名的.因为栈通常是从高地址向低地址增长的, ...
- SpringBoot如何处理java内存溢出
在上线的项目中,本地测试没有问题,部署上去就会出现java 内存溢出 java.lang.OutOfMemoryError: Java heap space 解决方案: -Xms512m -Xmx51 ...
- Docker 部署SpringBoot项目不香吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...
- microcosm(SpringBoot工具包)
项目的工具包,以功能分包,功能之间尽量减少相互依赖,每个功能作为最小单元供服务依赖. Try to reduce mutual dependence between functions and fun ...
- mc服务器java占用过大_如何排查java应用中CPU使用率高或内存占用高的问题
点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:MnameHZJ my.oschina.net/u/1420452/blog/224 ...
- 从零开始学习springboot之springboot搭建
博主刚开始实习不久,还是小白一枚,被公司的各种新奇技术搞得眼花缭乱了好久,主要是用springboot和dubbo构建起来的项目.看完之后才知道springboot真的是java开发者的福音啊 话不多 ...
- 网络瓶颈、线程死锁、内存泄露溢出、栈堆、ajax
网络瓶颈:网络传输性能及稳定性的一些相关元素 线程死锁:多个线程因竞争资源造成的一种僵局 下面我们通过一些实例来说明死锁现象. 先看生活中的一个实例,2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥 ...
最新文章
- 【转载 | 笔记】IIS无法删除应该程序池 因为它包含X个应用程序
- windows系统托盘tray
- 下载输入python之小说下载器version2.0
- 自定义Mac睡眠时间,保持运行状态
- 3.企业应用架构模式 --- 映射到关系数据库
- 机器学习项目-金融反欺诈模型
- Day41——Dp专题
- Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划
- Java篇 - 四种引用(Reference)实战
- 不同按钮进入同一个页面显示不同的div
- ESRGAN - Enhanced Super-Resolution Generative Adversarial Networks论文翻译——中英文对照
- webview加载gif图片
- 图解LeetCode——768. 最多能完成排序的块 II(难度:困难)
- 博弈论——2.4古诺模型练习题
- 怎么监测facebook上竞争对手的广告
- 【使用switch语句】 用C语言编程实现输入年、月、日,编程求这一日是该年中的第几天。
- Fdfs 配置分布式文件系统
- mBlock机器人组装教程_能自我组装的机器人M-block,来自mit人工智能实验室
- 路由器: IP与网关 不在同一段 解决方法
- 1_3.数据交换技术*
热门文章
- OpenJDK 编译-Linux环境
- NTFS for Mac OS X:使用Brew安裝NTFS-3G
- WPF解析TTF 字体
- HTTP请求报文和HTTP响应报文(转)
- 《转》java设计模式--工厂方法模式(Factory Method)
- c语言将字母与数字分开存放,2017年计算机二级《C语言》考前提分试题及答案9...
- 关于Python 3.9,那些你不知道的事
- 在线等:“实习拿到两个不太好的offer,去腾讯还是去阿里?”
- Uber 前无人驾驶工程师告诉你,国内无人驾驶之路还要走多久?
- 华为全球最快AI训练集群Atlas 900诞生