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

nodejs vs spring boot 的选择

  •  
  •   qfdk · 191 天前 via iPhone · 5214 次点击
    这是一个创建于 191 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近心血来潮 想做个餐馆的项目。

    正在 node.js 和 Sping Boot 之间纠结.

    nodejs express 简单方便 扔到 docker 里面内存占用不是很大. 可以开 n 个实例 后面还可以配合做负载均衡,加上 forever 或者 pm2 也是美滋滋

    Spring Boot 配合 jpa,thymeleaf 模板引擎 和后面可以强大的扩展 感觉也是个不错的选择. 就是内存占用还是蛮厉害的. 轻松跑满 512m,但是这里可以用 jhipster 大礼包什么的,感觉也是很方便,加上有神器 ide 的支持 。。。。

    暂时不考虑前后端分离,不想单独在做前前端.

    服务器打算 1 G 内存的 vps 在 docker 中跑,感觉加上数据库 Spring boot 可能有些吃紧……

    不知道老哥们有何意见?
    48 回复  |  直到 2019-02-15 18:18:28 +08:00
        1
    jswh   191 天前   ♥ 1
    1g 的 vps,就别上 java 了。node 可以,go 更好
        2
    qfdk   191 天前
    @jswh #1 我也再思考这个问题 之前 1G vps spring 全家桶本地跑的美滋滋,上了服务器看着内存跟过山车一样。现在个人有点儿倾向 node.js 但是 thymeleaf 的语法还是喜欢用。go 的话 有没有推荐的 crud 轮子系列 ?
        3
    jswh   191 天前
    @qfdk node 有 pug 也算比较成熟,其他模板引擎也挺多的。go 的话 https://awesome-go.com/#orm
        4
    encro   191 天前   ♥ 2
    当然是 php,node,python,go
        5
    yishenggudou   191 天前   ♥ 2
    写 demo 用 django 生产重构用 spring
        6
    banmuyutian   191 天前   ♥ 2
    我司先用 nodejs 前期快速开发,再用 spring cloud 重构……
        7
    namebyrant   191 天前
    新手贴无疑
        8
    namebyrant   191 天前   ♥ 1
    java 占用内存确实比较大
        9
    qfdk   191 天前
    @encro #4 最好的语言不考虑,node 嗯
    @yishenggudou #5 历史原因不喜欢 python = =
    @banmuyutian #6 我也想到 nodejs 还是起步快,spring cloud 确实 靠谱,但是要吃服务器的 一个 eureka 一个 api gateway 加上 n 个实例 (都可以扔到 docker 里面)所以有点儿纠结。
    @namebyrant #7 来点儿中肯的建议
        10
    photon006   191 天前   ♥ 1
    typescript 考虑下
        11
    thomaspaine   191 天前   ♥ 1
    用 node 啊,typescript+webstorm 也是美滋滋。

    orm 有 typeorm 这个轮子,很好用
        12
    qfdk   191 天前
    @photon006 #10 ts humm 弄得我都想 angular 了
    @thomaspaine #11 typeorm 马克
        13
    liuzhen   191 天前
    1g 内存 spring boot 可以玩,spring cloud 就别上了
        14
    Rwing   191 天前
    不妨考虑下 .net core
        15
    dany813   191 天前   ♥ 1
    node egg 写起来 快的一笔 orm sequelize ?
        16
    qfdk   191 天前
    @liuzhen #13 嗯 那些要买两个 512 的小鸡了

    @Rwing #14 那个算了吧 = = 不考虑

    @dany813 #15 egg 我看看这个蛋到底如何 Node.js & Koa 好东西
        17
    janxin   191 天前 via iPhone   ♥ 1
    ts 走一波
        18
    tyrealgray   191 天前   ♥ 1
    不如考虑一下 node 的 fastify
        19
    peyppicp   191 天前   ♥ 1
    可以考虑平衡一下开发时间和机器成本
    如果项目不大,512m 其实也能运行 springboot,想要良好运行 jvm 还是给 1g 吧,应用内不做缓存啥的一般也是够用了。换句话说,内存比起 cpu 来说还是便宜得多了
    用 springboot 好处就是海量第三方框架,开发省事,维护更省事,日后做大了还能方便迁移到 spring-cloud
    其实用 golang 也是可以的,成型快,mvc 用 gin,orm 用 gorm
        20
    qfdk   191 天前
    @janxin #17 humm
    @tyrealgray #18 我去看看这个东西 egg vs fastify it is one of the fastest web frameworks in town.
        21
    AX5N   191 天前
    我觉得楼主就是想用 java,想用就加点小钱钱加点内存,又不是什么问题。
        22
    yuanfnadi   191 天前   ♥ 1
    @qfdk typescript + nestjs .完美复刻 springboot 的体验。会 springboot 的,看半小时文档就可以开始开发了。
        23
    gz911122   191 天前   ♥ 1
    要不试试 java 别的轻量级框架
    比如 vert.x 或者别的基于 netty 的,内存占用能少一些
        24
    izhangzhihao   191 天前 via iPhone
    play framework 了解一下,16M 内存起步
        25
    yishenggudou   191 天前
    @izhangzhihao 感觉 play framework 在 spring boot 崛起后 衰落了
        26
    mars0prince   191 天前
    nestjs 了解一蛤
        27
    Cbdy   191 天前 via Android   ♥ 1
    Java/Spring Boot 没有太大必要上 Docker
        28
    visonme   191 天前   ♥ 1
    不需要各种服务拆分,没有复杂的数据分析,也不需要考虑分布式 /集群问题,只是后台不复杂面向用户的 web 应用,那我还是推荐你用 nodejs 吧 ,而且可以前后端语言统一~
        29
    xyzxiaoking   191 天前 via Android   ♥ 1
    一个餐馆项目规模应该不大吧,直接 node 撸起,还快
        30
    q8164305   191 天前 via Android
    小项目肯定 js 撸起来啊
        31
    qfdk   191 天前
    @AX5N #21 我在纠结,nodejs 和 java 都写过项目 都是成熟项目,nodejs 感觉内存 OK,java 内存刚刚好

    @gz911122 #23 要是 java 还是倾向 springboot

    @visonme #28 @xyzxiaoking #29 @q8164305 #30 @Cbdy #27 不考虑分布式,基本就是无脑 CRUD 操作,然后前端好看一点儿。 至于为什么用 docker,为了以后同行看到了 需要同样的服务可以快速启动一个 instance,或者弄成负载均衡实例。1G 内存的榨干性能。
        32
    realkenshinji   191 天前 via iPhone   ♥ 1
    node 用得熟悉就 node 吧,js 可以连前端一起写了
        33
    qfdk   191 天前
    @peyppicp #19 您给的建议真的很中肯。也是我在思考的一点,512 确实可以抛弃 springboot 来,为了防止以后 boom 还是要考虑到内存问题。Spring 全家桶在不考虑资源的情况下我会毅然决定去使用,跟您提到的优点一样,大厂老司机的风格。

    为什么内存比 CPU 便宜? 我感觉大多数瓶颈应该不在 cpu 上面吧,CPU 现在感觉 vps 都是计算能力过剩,然而是 RAM 经常不够用。golang 不很喜欢。
        34
    zjsxwc   191 天前 via Android
    我站 spring boot 开发体验最爽
        35
    jorneyr   191 天前
    增加硬件能解决的问题就不要从软件入手。
        36
    HangoX   191 天前
    不是熟悉哪种语言就用哪种吗?我熟悉 java,所以选择 SpringBoot。
        37
    anguiao   191 天前
    没有什么是加钱不能解决的
        38
    qfdk   191 天前
    @HangoX #36 理论上是这样。。。 但是两种都熟悉 所以 语言这里不是 硬伤

    @jorneyr #35 @anguiao #37 钱要花再刀刃上, 到了 8120 年 ram 和 cpu 永远也是不够的

    @zjsxwc #34 所以也在纠结
        39
    godoway   190 天前 via Android
    可以考虑一下 vertx
        40
    fengdianxun   190 天前 via Android
    php 呢?
        41
    1134506391   190 天前
    see see
        42
    gouflv   190 天前 via Android
    next.js 写 ts 真的美滋滋
        43
    gouflv   190 天前
    #41 笔误了,应该是 nestjs
        44
    gaojjx   190 天前
    nodejs 天生就是异步非阻塞的,spring boot 到 2.0 以后才开始支持
        45
    qfdk   190 天前
    @godoway #39 node on JVM ?

    @fengdianxun #40 最好的语言不考虑了。

    @gouflv #43 这玩意儿底层是 express ?

    @gaojjx #44 spring boot @Async 也是美滋滋 加上定时任务的 @corn 还是爽
        46
    godoway   190 天前   ♥ 1
    @qfdk vertx 的设计思想来源于 node,也可以这么说。
        47
    godoway   190 天前   ♥ 1
    @qfdk 另外关于技术栈的性能可以看一下这个
    https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=query
        48
    qfdk   190 天前
    @godoway #47 看了下 居然在前四名, 还是很可以的. rust + pg 看起来还是很牛逼的。 看了下他们的配置 还是高配。js 已经甩没边儿了。仔细看了下 要是 cloud 上 还是 nodejs 比较吃香, 另外 hapi 是个什么鬼 各种出头 比楼上 fastily 那个还要厉害。 等会儿好好研究下 感谢先
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1638 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 16:33 · PVG 00:33 · LAX 09:33 · JFK 12:33
    ♥ Do have faith in what you're doing.