[咨询 + 招聘] 把一个小项目从 Go 迁移到 Node.js - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cigaret
V2EX    外包

[咨询 + 招聘] 把一个小项目从 Go 迁移到 Node.js

  •  
  •   cigaret 211 天前 2841 次点击
    这是一个创建于 211 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们做了一个微信小程序叫「言与」(已上线可搜索),目前后端是用 Go 写的,数据库是 PostgreSQL ,大概有 50 个接口,业务复杂度一般,现在想迁移到 Node.js ,预期使用 TypeScript 、Drizzle 、Express ,其它要求暂时想不到。

    我想知道(区间即可,不要求精确),如果外包的话:

    1. 大概需要多长时间可以完成?
    2. 大概需要多少钱?

    我不知道是否还需要补充更多信息辅助判断,如果需要的话请直接指出。

    另外,如果有大哥可以接的话,可以直接联系我:Y2lnYXJldC1saXZpbmc=

    如果身边有靠谱的朋友也可以推荐给我,合适的话红包答谢!谢谢大家!

    第 1 条附言    210 天前
    补充信息:目前后端 Go 代码 10000 行
    第 2 条附言    206 天前
    感谢大家关注,已经确定合适的人选了。
    37 条回复    2025-06-03 14:32:09 +08:00
    momocraft
        1
    momocraft  
       211 天前   1
    纯好奇 可以讲讲为什么要迁移吗
    musi
        2
    musi  
       211 天前 via iPhone   1
    一般不都是 node 转 go ,你怎么反过来了
    herang
        3
    herang  
       211 天前   1
    能搞,但也纯好奇 可以讲讲为什么要迁移吗
    Razio
        4
    Razio  
       211 天前   1
    反向操作是真没想过。建议学 Go
    guoooo00oohao
        5
    guoooo00oohao  
       211 天前   1
    我也有和你一样感觉,用 ts 写 CURD 完全一把梭前后端,然后放到 Vercel 上托管。

    --
    用 golang 写后端,用 react 写前端 。

    部署的时候又要写 helm chart ,又要调试 k8s ,又要看负载均衡等等等。托管到类似 vercel 这样的 SAAS 上什么也不用管了,只要关心 infra 预算就够了。

    如果是纯数据库 curd ,或者不复杂的业务,重写应该算是比较容易。

    安全的迁移(其实不是迁移,是重写全部后端)
    1. 我推荐先写 e2e 测试,覆盖主要业务场景。
    2. 使用七层负载均衡器,或者在 fullstack 的前端部分一个一个接口进行替换。
    guoooo00oohao
        6
    guoooo00oohao  
       211 天前   1
    @musi 一般是 startup , 业务规模小,营收预期不明确,迭代快,人手少,缺乏专业的运维团队。
    cigaret
        7
    cigaret  
    OP
       211 天前   2
    @momocraft @musi @herang @Razio 统一回答一下:

    团队目前所有项目前后端都是 TypeScript 写的, 因为一些原因这个小程序后端用了 Go ,现在开发遇到了阻力。

    1 、换 Node.js 从团队角度更合适,大家都能使上劲。
    2 、小团队预算有限,Go 招聘成本相较 TypeScript 更高。
    3 、这个小程序在非常早期的阶段,用户量不大,性能不是问题,做起来之后自然有更多资源投入,完全可以到时候再做优化。
    uRQDd07Pt2UWOtOF
        8
    uRQDd07Pt2UWOtOF  
       211 天前   2
    反向优化真可怕, 不成熟的技术负责人真可怕
    donaldturinglee
        9
    donaldturinglee  
       211 天前 via Android   1
    50 个接口重构一下也快吧,如果业务不复杂的话
    maocat
        10
    maocat  
       211 天前 via Android   1
    ts 团队人都裁完了,还往进冲
    duanxianze
        11
    duanxianze  
       211 天前   1
    信息太少,不好判断工期,不过体验了小程序,并不复杂,要有个老手,两周差不多能搞完,2-5w 都有可能
    mikawang
        12
    mikawang  
       211 天前   1
    直接让 ai 帮你转不挺好吗,何必招人呢
    dotinow
        13
    dotinow  
       211 天前   1
    我支持团队内部统一技术栈,如果你们团队未来长期都是用 TS 的话
    leopod1995
        14
    leopod1995  
       211 天前   1
    没接过,联系方式: Q29uYW4yNTg3

    可以聊聊
    beidounanxizi
        15
    beidounanxizi  
       211 天前   1
    为什么不让 ts 写 go 呢 ,
    如果连 go 都写不明白 ts 写的 vue react 都很捉急
    写 go 2 周都能速成 。。。 改人 还是改程序
    明显改写 go 啊
    beidounanxizi
        16
    beidounanxizi  
       211 天前   1
    哦 原来已经部分写 ts 了 那就让写 ts 的 把 go 的先维护几个月熟悉了 再写成 go 得了
    lujiaxing
        17
    lujiaxing  
       211 天前   2
    @mikawang 诶还真是啊 这种活儿 ai 最擅长了 根本不需要招人的
    sagaxu
        18
    sagaxu  
       211 天前   1
    假设每个接口约 100 行左右代码(类型定义不算),10 天开发,5 天测试,约 15 天,外包价 15K 起,可惜 node 我不熟接不了。
    jingrui
        19
    jingrui  
       210 天前   1
    4w~6w ,1 个月左右。
    runningman
        20
    runningman  
       210 天前   1
    go 给我维护就行了。
    lujiaxing
        21
    lujiaxing  
       210 天前   1
    @beidounanxizi 这种小团队不可能维持两套技术栈的. 想啥呢. 况且 go 也没有额外的优势, 这些个高级语言不管是 C#, TS, 还是 go, 写出来的东西都不会有多大差别. 国外有个做餐饮供应链系统的, 叫 Xenial 吧应该. 就是用的 node. 也没耽误人家产品给好几个连锁餐饮品牌用, 用得好好的...

    不过这种东西都没必要摇人儿, 直接 AI 处理就行了.
    noyidoit
        22
    noyidoit  
       210 天前   1
    看了下小程序,感觉只是很简单的业务,只在晚上兼职的情况下 10 天左右就能做完了
    Razio
        23
    Razio  
       210 天前   1
    @cigaret #7
    1. 从技术、未来发展角度上,写 go 大家技术上都能成长( go 比 ts 简单吧),别说什么你永远只要写 JS ,那到此为止,这种水平也没必要继续说了
    2. 让你招 Go 了么,可否自己学两天,摆好求知好学的心态 2 天就能写,而且现在都是 AI 写,没什么可怕的,我司后端都在用前端的 Go 框架
    3. 你都说了早期,没用户,完全可以到时候再做优化,那现在着什么急转 TS ,成本、性能和个人发展上都看不到意义在哪
    xsen
        24
    xsen  
       210 天前   1
    @cigaret #7 内部找个有意愿的同事,翻书一周就可以上手
    cigaret
        25
    cigaret  
    OP
       210 天前
    @xsen 感谢建议!
    xsen
        26
    xsen  
       210 天前   1
    @cigaret #25 不客气。照我这边的实际情况,不管是毕业生、还是毕业 1-2 年、或者前端、后端( PHP/C++等)这些,基本都是一周不用就可以上手
    lujiaxing
        27
    lujiaxing  
       210 天前   1
    @Razio
    1. "写 go 大家技术上都能成长".... 所以说这个结论到底是怎么出来的? 为啥用 node 的开发者就不能成长? 是 node 不能搞微服务啊还是 node 不能做高并发?

    2. "让你招 Go 了么,可否自己学两天,摆好求知好学的心态 2 天就能写" 你说这话就说明你跟楼主屁股都不是坐一起的. 楼主很明显是技术负责人, 是要向老板负责的, 是要为产品的可维护性与质量负责的. 是, golang 语法相对简单, 学两天也就差不多了. 但是用 Golang 需要踩的坑是两天就能踩完的么? 生产环境出问题了怎么办? 你们这些 2 天速成选手能在最短时间内 完成 troubleshooting 解决生产环境的问题么? 小厂普遍都是草台班子, 永远都是不求最先进, 但求最稳定. 尤其团队都是用同一个技术栈的情况下. 小厂的资金生死线决定了很多情况下是根本不给你试错的机会的. 要不为什么好多企业到现在都是 java 8. 你以为他们不想升级? 这些个挣扎在成本线上的小厂, 出问题就是死. 但是你是开发. 你最大的 kpi 就是给拿公司的项目练手, 自己简历上贴金. 能用新技术一定不用老技术, 能往复杂了搞绝不搞复杂. 显得自己学习能力很强技术能力很强. 回头简历上就能写自己搞定了多少多少技术:"我别说板儿车了, 连运载火箭都能错出来". 本质上就是方便跳槽方便涨工资. 所以屁股都不在一起你说这些有啥用...
    Razio
        28
    Razio  
       210 天前
    @lujiaxing #27 还挺能说,急啦?
    1. 我在说提升个人编程技能,你在说 nodejs 啥不能写,对啊都能写,谁说不能写了,你用易语言也能写啊,我只是说这是难得的好机会,可以多学习一点技能,开阔一下视野。
    2. 人家说了早期项目,你也知道是小厂,所以到底什么情况才能让自己多学一点,难绷。学技术是我的爱好,赚钱是我顺手的事,跳槽涨薪对普通打工人有错,简历贴金又怎么了,再说谁在乎你这点金? KPI 可以是我的机会,也可以是我被逼无奈的任务,自己做选择不就好了。至于什么可维护性、质量负责,现成稳定的项目,语言重构就不踩坑了?生产就不出问题了?好难绷。

    我在说难得机会提升个人技能,你在说吊,屁股不在一起你回我干蛋
    qiubaowei
        29
    qiubaowei  
       210 天前   1
    @Razio 建议的很好 下次别建议了
    lujiaxing
        30
    lujiaxing  
       210 天前   1
    @Razio 建议的很好 下次别建议了
    lostc
        31
    lostc  
       209 天前
    推广帖啊 真糟糕
    IamUNICODE
        32
    IamUNICODE  
       209 天前   1
    go 的复杂度还行吧,学个一周估计都能上手了,纯维护而已
    交给我,50 个接口估计 5-8 天能给你改 node
    c0011
        33
    c0011  
       208 天前   1
    找到了吗?
    liuliuliuliu
        34
    liuliuliuliu  
    PRO
       208 天前
    看了所有评论,golang 粉真可怕……
    AEnjoyable
        35
    AEnjoyable  
       208 天前 via Android   1
    笑死 我公司也是把 go 项目重构成 nodejs ,60 多个接口排期两个月 让我做,我没 nodejs 基础
    bzw875
        36
    bzw875  
       206 天前   1
    我自己项目本来是 nodejs ,现在想迁移 go 。楼主在逆行倒施哦
    hellofreckles
        37
    hellofreckles  
       206 天前   1
    让 AI 帮忙写不要太容易了吧,
    1 先让 AI 把基于接口的测试用例写好,人工校准一下
    2 让 AI 逐步比对文件一个个改写。
    3 用测试用例测试一下。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2637 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 12:04 PVG 20:04 LAX 04:04 JFK 07:04
    Do have faith in what you're doing.
    ubao msn 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