Spring 用倦了,公司的容器资源寸土寸金,一个项目启动后容器占用 2G 内存,快吐了。听过 Solon 能降低 70%的内存占用,我都不敢用,有没有用过的给我个建议。
![]() | 1 chendy 2024-04-15 18:53:49 +08:00 10 个 2g 的微服务整合成一个 2g 的单体就万事大吉了 另外既然没人拦着你换框架,换语言应该问题也不大吧 |
2 cookii 2024-04-15 19:02:04 +08:00 via Android ![]() 没有内存就不要用 Java |
3 cookii 2024-04-15 19:03:13 +08:00 via Android 1 用 springboot native 2 用 ibm openj9 的 jvm 能 |
4 tuimaochang 2024-04-15 19:16:30 +08:00 nutz |
![]() | 5 Eillott 2024-04-15 19:23:26 +08:00 via Android 国产是什么意思,开源界分外国产和国产? |
![]() | 6 hutoer 2024-04-15 21:32:45 +08:00 oracle helidon |
7 9i5NngJHI4P7dm42 2024-04-15 21:36:14 +08:00 @Eillott #5 分, 国产个人开源≈垃圾 |
![]() | 8 lsk569937453 2024-04-15 21:49:37 +08:00 ![]() Spring 用倦了,公司的容器资源寸土寸金,一个项目启动后容器占用 2G 内存,快吐了。 一看就是工作一两年的新手,还想着硬件上给公司省钱啊。。。。老油条从来就是什么手熟用什么框架,至于硬件资源,那是公司的问题,不是你的问题。 |
9 yeqizhang 2024-04-15 21:52:44 +08:00 via Android 不说公司的项目本身太累赘怪 springboot ? |
![]() | 10 HojiOShi 2024-04-15 21:54:44 +08:00 我所在的芝麻粒大的小公司用的是 jFinal |
11 mshadow 2024-04-15 23:43:06 +08:00 via Android 公司的资源你操啥心,除非专门给你时间弄。 题外话,2G 内存 go 的微服务能跑一堆了 |
12 fkdog 2024-04-15 23:55:42 +08:00 ![]() 这 Solon 又是什么臭鱼烂虾。 |
13 hundandadi 2024-04-16 03:27:38 +08:00 via Android @lsk569937453 怕是没被降本增效搞过,三天两头优化的日子也不好过 |
14 chuck1in 2024-04-16 07:43:08 +08:00 。。。。op 你确定不用 springboot 吗,各种生态和库到时候你怎么办。公司最重要的是业务系统的稳健开发和运行。。。。。 |
15 cslive 2024-04-16 08:27:12 +08:00 servlet 手撸,又不是不能用 |
![]() | 16 Dragonphy 2024-04-16 08:30:40 +08:00 抛弃了 Spring 生态,你都不应该用 Java 了,Node.js 或者 .Net Golang 都行 |
![]() | 17 maokg 2024-04-16 08:48:21 +08:00 用 go |
![]() | 18 mango88 2024-04-16 08:55:59 +08:00 不想用 Spring 就用 Vert.x 或者 Play |
19 Ayanokouji 2024-04-16 09:08:57 +08:00 ![]() 咋没人推荐 https://quarkus.io 呢 |
![]() | 20 cnzjl 2024-04-16 09:16:32 +08:00 用 golang 吧,直接解决你的内存焦虑 |
![]() | 21 jlkm2010 2024-04-16 09:18:47 +08:00 我们公司有几个项目用的 solon ,目前看没啥问题,轻量简洁 |
![]() | 22 EastLord 2024-04-16 09:21:37 +08:00 用 graalvm 试试 |
![]() | 23 kran 2024-04-16 09:23:09 +08:00 guice+javalin, 随心所欲 |
![]() | 24 dif 2024-04-16 09:26:17 +08:00 ![]() 换 PHP 啊,这点内存都扣扣嗖嗖的,java 确实不合适。 |
![]() | 25 interim 2024-04-16 09:29:00 +08:00 ![]() 推广文,新号无回复,加入于 2024-03-13 10:57:43 +08:00 |
26 tangzhiyong 2024-04-16 10:21:36 +08:00 占用内存问题,关键的关键应该是 JVM 问题吧。所以正路应该是换一个不用 JVM 的语言? |
![]() | 27 trifolium0wang OP @imzhoukunqiang springboot native 试了,不行,各种 bug ,用着用着就奇奇怪怪的缺少类,不够费劲钱。 |
![]() | 28 trifolium0wang OP @lsk569937453 公司也是大家一起维护的啊,我们客户项目一个容器都是 4G 配额,客户非常不满意,而且经常内存溢出。维护吧,又维护不了,因为代码太烂了。 |
![]() | 29 trifolium0wang OP @maokg 公司 20 个开发,没有一个 go |
![]() | 30 Belmode 2024-04-16 10:36:13 +08:00 ![]() 只要你还想用 Java ,就别想着离开 Spring 生态圈,看看楼上前辈们的回复,你心里也有点数。 |
![]() | 31 funcNVidia 2024-04-16 10:38:53 +08:00 为啥哟啊用国产框架 ? |
![]() | 32 trifolium0wang OP @interim 什么玩意,我注册的账号等不上,不知道为什么,心血来潮用的另一个号发文,在你眼里什么都是推广是吧?你说说新号发什么才不算推广?发涩图? |
33 caodd 2024-04-16 10:46:04 +08:00 推荐 ktor https://start.ktor.io/#/settings ,不过不是国产的 |
34 28Sv0ngQfIE7Yloe 2024-04-16 10:51:03 +08:00 >>> 公司也是大家一起维护的啊,我们客户项目一个容器都是 4G 配额,客户非常不满意,而且经常内存溢出。维护吧,又维护不了,因为代码太烂了。 是想说明,在代码栏的情况下 Java 更耗费资源吗... 另外既然 K8S 了,那就挂 HPA 呗 |
35 wanminny 2024-04-16 10:52:27 +08:00 go web/go 微服务 框架多的是。。。 |
36 cookii 2024-04-16 11:25:49 +08:00 via Android @trifolium0wang 换 epenj9 的运行环境。省不少内存。 |
37 walkerliu 2024-04-16 11:33:20 +08:00 有内存焦虑的话就换 Go / Rust 吧 | ||
![]() | 38 programApe 2024-04-16 11:33:52 +08:00 我们做项目给甲方报配置内存一般 128g 起步,实际上 16g 都绰绰有余。自己公司常用用的还是 8g 、16g 的。代码太烂,内存溢出都是无脑让甲方加硬件配置。 |
40 QWE321ASD 2024-04-16 14:47:45 +08:00 你直接上 guice,然后自己手写各种组件 |
41 z4zr 2024-04-16 14:51:15 +08:00 |
![]() | 42 icanbeyrhero 2024-04-16 17:15:36 +08:00 为什么盯着国产,Jersey 了解一下,JAX-RS 规范实现 |
![]() | 43 iminto 2024-04-16 17:21:37 +08:00 ![]() SpringBoot 没问题,是你们代码太烂,正常启动 512M 内存就够了。 换个框架很可能因为垃圾代码导致内存占用更离谱 |
![]() | 44 cheng6563 2024-04-16 17:29:37 +08:00 用 IBM OpenJ9 的 JVM ,也是开源免费的,虽然版本号还在 0.43 离 1.0 遥遥无期,但实际使用和 Hotspot 没啥差异了。 |
![]() | 45 Jasckcc 2024-04-16 17:54:37 +08:00 换 golang |
46 zhady009 2024-04-16 19:16:17 +08:00 via iPhone SpringBoot 应用跑起来 100M 都不用 |
47 qviqvi 2024-04-16 20:34:10 +08:00 2G 是比较大的项目吧。可以预估一下峰值,压测一下,限制堆内存大小,看看最小多少内存满足 |
48 JimmyChan1506 2024-04-16 20:56:10 +08:00 是真的占用了 2G 内存, 还是你给它分配了 2G 内存? 另外有换框架的成本没有钱加内存? 不太明白这思路 |
49 yannxia 2024-04-16 20:59:21 +08:00 话说Solon 为啥能和 SpringBoot 对齐来着 |
50 dorothyREN 2024-04-16 21:27:41 +08:00 @odifjg9384hg 你那两条线话歪了,麻烦改成直的 |
![]() | 51 siweipancc 2024-04-16 21:42:56 +08:00 via iPhone io 全部走本地调用,200m 洒洒水啦,用国产是什么思路,真不怕跑路?真要求有 springboot 的开箱跟性能,直接上.net ,语言特性又特别相似。 |
![]() | 52 lstz 2024-04-16 21:45:26 +08:00 让领导想想,一个月 1000 元的服务器都不舍得投入,对得起这么多 10k 的程序员码农吗 |
53 pptom 2024-04-16 21:53:12 +08:00 我这边一堆 1G 的跑的好好,业务量也不少,不是 spring boot 不行,主要还是代码写得太烂吧。 |
![]() | 54 wuyiccc 2024-04-17 09:00:35 +08:00 solon 企业版要付费,你是要买企业版么? |
![]() | 55 seedhk 2024-04-17 09:50:47 +08:00 spring 是你给他越多,他吃的越多。可以远程连接上去,或者借助一些三方工具看下具体的内存占用。 一般项目可能 256-512 就够用了 |
56 wssy001 2024-04-17 13:58:48 +08:00 你确定你能无缝切到 Solon 你的领导、同事能同意你这么干?我感觉 SpringBoot + GraalVM Native Image 都比切到 Solon 要好 |