Node.js与Golang怎么选择?
新项目坚决上go
@zengming00 求教,为啥,有理由吗
go 不用说了。nodejs 作用就是拿来做转发或者服务端渲染的真正写后端还是go强势而且go本身可以利用多核 node还要开多进程。
@zengming00 坚决与否还要看团队技术栈。不能主管一拍脑壳就上马。 前两天 cnblog 博客园不就翻车 .net core 了么。
高速开车换底盘记:Windows 与 Linux 部署都抗住了,但修车任务艰巨 https://www.cnblogs.com/cmt/p/11362531.html
@waitingsong 看什么团队技术栈,我一手遮天,之前有过成功的高速路上换发动机经验,一点也不怕
@zengming00 你狠。不过天塌下来就只有你背锅了哟~~
@waitingsong 我这么牛逼的驾驶技术怎么会翻车
@zengming00 @hldgaoshuo 不看项目需求和当地人力情况都是耍流氓。
如果你是做云计算,虚拟化,或者一些算法之类的,优先考虑go ,这个node 并不适合。 如果是web 或者业务系统,优先考虑node.js (纯 ts) ,开发,维护成本都低于 go ,性能也不差。 如果是嵌入式 ,两者都可以,看技术选型。
我们目前架构是 k8s+istio 用什么语言都可以,主 node.sj 副 C++/Rust ,基本满足大部分需求了。 最后强调一点,用node.js 一定用 typescript 。
@zuohuadong 看什么成本,技术这东西会的人越多越不值钱,随便找个人就把你替换了,既然有一手遮天的机会干嘛不把握好,起码我在这里成本就没有增加,反而还是减少的 现在为什么说程序猿越来越难找工作,因为大家都知道程序猿赚钱厉害,各行各业都转行干程序猿,一些培训班两三个月就出来一批人,我有幸帮公司招了次人,拿到拉勾的企业账号,那些人要的薪水低得你都不敢想象,所以现在程序猿不值钱了,刚入行的程序猿薪水甚至可能比不过餐厅服务员
@zuohuadong 已经用上istio啦,性能如何。有没有遇到啥坑
@zengming00 开发成本、维护成本、硬件成本 三者之间权衡了。 技术债务也是额外成本。
@shadow88sky 可以接受,我们系统大,负载小一些
技术的选型需要兼顾很多因素,很重要的一点就是要从团队的实际情况出发,没有完美的开发团队,也没有万能的语言,选择适合于当下团队的,就是最好的。至于golang和nodejs,个人建议,如果是想走后端路线,还是以golang为主,至于nodejs,能做的事情确实很多,用来写大型后端应用也不是不可以,但是相比较于golang,其动态类型和单线程模型决定其性能还是稍逊一筹
- typescript
- node 性能问题主要不在单线程。多线程的java 同步阻塞一样被吊打。
@zuohuadong 不用typescrpt是不是容易翻车?
@oneWalker 哪怕我写了快十年的js,不小心都会写错(比如变量名)。团队协作项目不上 ts 肯定会翻车(bug 以及后期维护,增加需求,重构)。 个人觉得 ts 最重要一点是避免给自己以及接手的人挖坑,同时也避免踩别人的坑(函数签名写在那儿,出了问题就不是我的锅了…)
@waitingsong 那看来我这个项目还得转换一下。就看给不给时间了,时间太紧张的话我也就只好这样了。
@oneWalker 项目时间紧张就先解决上线问题。技术路线问题放后面。
Ts+Node