V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
trifolium0wang
V2EX  ›  Java

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

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

    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   ❤️ 5
    这 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 试试
    kran
        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   ·   实用小工具   ·   5097 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:09 · PVG 16:09 · LAX 01:09 · JFK 04:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.