国产框架除了 Solon 还有什么能代替 SpringBoot 的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
trifolium0wang
V2EX    Java

国产框架除了 Solon 还有什么能代替 SpringBoot 的?

  •  
  •   trifolium0wang 2024-04-15 18:47:43 +08:00 5893 次点击
    这是一个创建于 545 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Spring 用倦了,公司的容器资源寸土寸金,一个项目启动后容器占用 2G 内存,快吐了。听过 Solon 能降低 70%的内存占用,我都不敢用,有没有用过的给我个建议。

    56 条回复    2024-04-17 13:58:48 +08:00
    chendy
        1
    chendy  
       2024-04-15 18:53:49 +08:00
    10 个 2g 的微服务整合成一个 2g 的单体就万事大吉了
    另外既然没人拦着你换框架,换语言应该问题也不大吧
    cookii
        2
    cookii  
       2024-04-15 19:02:04 +08:00 via Android   9
    没有内存就不要用 Java
    cookii
        3
    cookii  
       2024-04-15 19:03:13 +08:00 via Android
    1 用 springboot native
    2 用 ibm openj9 的 jvm 能
    tuimaochang
        4
    tuimaochang  
       2024-04-15 19:16:30 +08:00
    nutz
    Eillott
        5
    Eillott  
       2024-04-15 19:23:26 +08:00 via Android
    国产是什么意思,开源界分外国产和国产?
    hutoer
        6
    hutoer  
       2024-04-15 21:32:45 +08:00
    oracle helidon
    9i5NngJHI4P7dm42
        7
    9i5NngJHI4P7dm42  
       2024-04-15 21:36:14 +08:00
    @Eillott #5 分, 国产个人开源≈垃圾
    lsk569937453
        8
    lsk569937453  
       2024-04-15 21:49:37 +08:00   7
    Spring 用倦了,公司的容器资源寸土寸金,一个项目启动后容器占用 2G 内存,快吐了。

    一看就是工作一两年的新手,还想着硬件上给公司省钱啊。。。。老油条从来就是什么手熟用什么框架,至于硬件资源,那是公司的问题,不是你的问题。
    yeqizhang
        9
    yeqizhang  
       2024-04-15 21:52:44 +08:00 via Android
    不说公司的项目本身太累赘怪 springboot ?
    HojiOShi
        10
    HojiOShi  
       2024-04-15 21:54:44 +08:00
    我所在的芝麻粒大的小公司用的是 jFinal
    mshadow
        11
    mshadow  
       2024-04-15 23:43:06 +08:00 via Android
    公司的资源你操啥心,除非专门给你时间弄。

    题外话,2G 内存 go 的微服务能跑一堆了
    fkdog
        12
    fkdog  
       2024-04-15 23:55:42 +08:00   6
    这 Solon 又是什么臭鱼烂虾。
    hundandadi
        13
    hundandadi  
       2024-04-16 03:27:38 +08:00 via Android
    @lsk569937453 怕是没被降本增效搞过,三天两头优化的日子也不好过
    chuck1in
        14
    chuck1in  
       2024-04-16 07:43:08 +08:00
    。。。。op 你确定不用 springboot 吗,各种生态和库到时候你怎么办。公司最重要的是业务系统的稳健开发和运行。。。。。
    cslive
        15
    cslive  
       2024-04-16 08:27:12 +08:00
    servlet 手撸,又不是不能用
    Dragonphy
        16
    Dragonphy  
       2024-04-16 08:30:40 +08:00
    抛弃了 Spring 生态,你都不应该用 Java 了,Node.js 或者 .Net Golang 都行
    maokg
        17
    maokg  
       2024-04-16 08:48:21 +08:00
    用 go
    mango88
        18
    mango88  
       2024-04-16 08:55:59 +08:00
    不想用 Spring 就用 Vert.x 或者 Play
    Ayanokouji
        19
    Ayanokouji  
       2024-04-16 09:08:57 +08:00   1
    咋没人推荐 https://quarkus.io
    cnzjl
        20
    cnzjl  
       2024-04-16 09:16:32 +08:00
    用 golang 吧,直接解决你的内存焦虑
    jlkm2010
        21
    jlkm2010  
       2024-04-16 09:18:47 +08:00
    我们公司有几个项目用的 solon ,目前看没啥问题,轻量简洁
    EastLord
        22
    EastLord  
       2024-04-16 09:21:37 +08:00
    用 graalvm 试试
        23
    kran  
       2024-04-16 09:23:09 +08:00
    guice+javalin, 随心所欲
    dif
        24
    dif  
       2024-04-16 09:26:17 +08:00   1
    换 PHP 啊,这点内存都扣扣嗖嗖的,java 确实不合适。
    interim
        25
    interim  
       2024-04-16 09:29:00 +08:00   4
    推广文,新号无回复,加入于 2024-03-13 10:57:43 +08:00
    tangzhiyong
        26
    tangzhiyong  
       2024-04-16 10:21:36 +08:00
    占用内存问题,关键的关键应该是 JVM 问题吧。所以正路应该是换一个不用 JVM 的语言?
    trifolium0wang
        27
    trifolium0wang  
    OP
       2024-04-16 10:33:31 +08:00
    @imzhoukunqiang springboot native 试了,不行,各种 bug ,用着用着就奇奇怪怪的缺少类,不够费劲钱。
    trifolium0wang
        28
    trifolium0wang  
    OP
       2024-04-16 10:35:11 +08:00
    @lsk569937453 公司也是大家一起维护的啊,我们客户项目一个容器都是 4G 配额,客户非常不满意,而且经常内存溢出。维护吧,又维护不了,因为代码太烂了。
    trifolium0wang
        29
    trifolium0wang  
    OP
       2024-04-16 10:35:55 +08:00
    @maokg 公司 20 个开发,没有一个 go
    Belmode
        30
    Belmode  
       2024-04-16 10:36:13 +08:00   1
    只要你还想用 Java ,就别想着离开 Spring 生态圈,看看楼上前辈们的回复,你心里也有点数。
    funcNVidia
        31
    funcNVidia  
       2024-04-16 10:38:53 +08:00
    为啥哟啊用国产框架 ?
    trifolium0wang
        32
    trifolium0wang  
    OP
       2024-04-16 10:41:13 +08:00
    @interim 什么玩意,我注册的账号等不上,不知道为什么,心血来潮用的另一个号发文,在你眼里什么都是推广是吧?你说说新号发什么才不算推广?发涩图?
    caodd
        33
    caodd  
       2024-04-16 10:46:04 +08:00
    推荐 ktor https://start.ktor.io/#/settings ,不过不是国产的
    28Sv0ngQfIE7Yloe
        34
    28Sv0ngQfIE7Yloe  
       2024-04-16 10:51:03 +08:00
    >>> 公司也是大家一起维护的啊,我们客户项目一个容器都是 4G 配额,客户非常不满意,而且经常内存溢出。维护吧,又维护不了,因为代码太烂了。

    是想说明,在代码栏的情况下 Java 更耗费资源吗...

    另外既然 K8S 了,那就挂 HPA 呗
    wanminny
        35
    wanminny  
       2024-04-16 10:52:27 +08:00
    go web/go 微服务 框架多的是。。。
    cookii
        36
    cookii  
       2024-04-16 11:25:49 +08:00 via Android
    @trifolium0wang 换 epenj9 的运行环境。省不少内存。
    walkerliu
        37
    walkerliu  
       2024-04-16 11:33:20 +08:00
    有内存焦虑的话就换 Go / Rust 吧
    programApe
        38
    programApe  
       2024-04-16 11:33:52 +08:00
    我们做项目给甲方报配置内存一般 128g 起步,实际上 16g 都绰绰有余。自己公司常用用的还是 8g 、16g 的。代码太烂,内存溢出都是无脑让甲方加硬件配置。
    lujiaxing
        39
    lujiaxing  
       2024-04-16 14:44:30 +08:00
    @walkerliu 还可以用 .NET Core. 这玩应内存占用小.
    QWE321ASD
        40
    QWE321ASD  
       2024-04-16 14:47:45 +08:00
    你直接上 guice,然后自己手写各种组件
    z4zr
        41
    z4zr  
       2024-04-16 14:51:15 +08:00
    最近刚好在玩 solon 不过只是玩玩
    icanbeyrhero
        42
    icanbeyrhero  
       2024-04-16 17:15:36 +08:00
    为什么盯着国产,Jersey 了解一下,JAX-RS 规范实现
    iminto
        43
    iminto  
       2024-04-16 17:21:37 +08:00   1
    SpringBoot 没问题,是你们代码太烂,正常启动 512M 内存就够了。

    换个框架很可能因为垃圾代码导致内存占用更离谱
    cheng6563
        44
    cheng6563  
       2024-04-16 17:29:37 +08:00
    用 IBM OpenJ9 的 JVM ,也是开源免费的,虽然版本号还在 0.43 离 1.0 遥遥无期,但实际使用和 Hotspot 没啥差异了。
    Jasckcc
        45
    Jasckcc  
       2024-04-16 17:54:37 +08:00
    换 golang
    zhady009
        46
    zhady009  
       2024-04-16 19:16:17 +08:00 via iPhone
    SpringBoot 应用跑起来 100M 都不用
    qviqvi
        47
    qviqvi  
       2024-04-16 20:34:10 +08:00
    2G 是比较大的项目吧。可以预估一下峰值,压测一下,限制堆内存大小,看看最小多少内存满足
    JimmyChan1506
        48
    JimmyChan1506  
       2024-04-16 20:56:10 +08:00
    是真的占用了 2G 内存, 还是你给它分配了 2G 内存?
    另外有换框架的成本没有钱加内存? 不太明白这思路
    yannxia
        49
    yannxia  
       2024-04-16 20:59:21 +08:00
    话说Solon 为啥能和 SpringBoot 对齐来着
    dorothyREN
        50
    dorothyREN  
       2024-04-16 21:27:41 +08:00
    @odifjg9384hg 你那两条线话歪了,麻烦改成直的
    siweipancc
        51
    siweipancc  
       2024-04-16 21:42:56 +08:00 via iPhone
    io 全部走本地调用,200m 洒洒水啦,用国产是什么思路,真不怕跑路?真要求有 springboot 的开箱跟性能,直接上.net ,语言特性又特别相似。
    lstz
        52
    lstz  
       2024-04-16 21:45:26 +08:00
    让领导想想,一个月 1000 元的服务器都不舍得投入,对得起这么多 10k 的程序员码农吗
    pptom
        53
    pptom  
       2024-04-16 21:53:12 +08:00
    我这边一堆 1G 的跑的好好,业务量也不少,不是 spring boot 不行,主要还是代码写得太烂吧。
    wuyiccc
        54
    wuyiccc  
       2024-04-17 09:00:35 +08:00
    solon 企业版要付费,你是要买企业版么?
    seedhk
        55
    seedhk  
       2024-04-17 09:50:47 +08:00
    spring 是你给他越多,他吃的越多。可以远程连接上去,或者借助一些三方工具看下具体的内存占用。
    一般项目可能 256-512 就够用了
    wssy001
        56
    wssy001  
       2024-04-17 13:58:48 +08:00
    你确定你能无缝切到 Solon 你的领导、同事能同意你这么干?我感觉 SpringBoot + GraalVM Native Image 都比切到 Solon 要好
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4580 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:06 PVG 18:06 LAX 03:06 JFK 06:06
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86