好久没写博客了,作为一个小前端最近还在纠结后端语言用什么,来分析一波nodejs在后端中的优缺点
缺点:
1.nodejs单线程,不能做cpu密集型操作,导致时间片不能释放,阻塞后面的任务。
2.nodejs可靠性比较低,一个地方报错会导致整个程序崩溃,需要守护进程或者docker重启来解决。
3.像使用多核性能的时候需要使用cluster或者部署多个实例,比较麻烦。
4.内存默认0.7G和1.4G,设置大了之后垃圾回收会变慢,可能需要多部署几个实例。
5.nodejs类型的后端比较难招,需要前端转后端或者后端转nodejs。

优点:
1.nodejs底层异步io,性能比较好。
2.编写起来不用担心线程的问题。
3.开发速度高,弱类型语言比较灵活,不像强类型一样需要各种转换,代码量少。
4.单页应用ssr比较方便,上下文比较相同。
5.前端转nodejs相对来说对语法天然熟练。

如果开发web的话,主要异步io,可以使用nodejs,性能非常好,不过最好也要看下目标城市的nodejs所使用的公司是否比较多,在cpu密集型的时候用cc++,go做个服务,或者cc++做个nodejs模块?

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐