当前nodejs 适合做什么,公司都会用来做什么?
发布于 7 年前 作者 luyanfeng 64226 次浏览 最后一次编辑是 5 年前

因为最近搞了些nodejs及其周边一的东西。想了解理这企业用它做什么呢? 对于web项目这样的多线程东西,nodejs 又是如果完成的。就目前我发现只要程序出错,项目就完蛋。这一定是不行的啊,我特地用的一进程监视工作进程,一但工作进程完蛋就重启它,可以最终还是要挂。 nodejs 让我对它的作用的认知越来越迷茫了…………

20 回复

node我们现在在做app的api,你的问题我觉得由以下的问题解决。首先是程序挂掉的问题,为什么程序会挂掉,如果是因为node的话,那说明node的代码写的有问题,如果是其他的原因,那么用别的语言也会有类似的问题,只不过不如node这么明显。然后是怎么做这个监控的问题,我们的做法是这样的,服务器是多核的,我们会按照核数来fork node的进程,然后用PM2来做进程管理,保证进程的重启,我觉得进程宕掉的问题和代码的关系更大,和node的关系不大。

楼主可以看看 node 的 cluster 模块,它能解决你面临的问题。另外推荐你看一本书《深入浅出 NodeJS》。

程序出错…不应该是你代码没写好的原因吗…

cluster 了解些,深入浅出 NodeJS看了几遍很初级的一本书,讲的很全但对我实际用应中没多大作用啊。 我现在就是用的cluster fork了一个工作进程,然后用的主进程监控的。

我现在就是用的cluster fork了一个工作进程,然后用的主进程监控的。不瞒大家,我这也是怀疑程序bug问题。bug不可能没有,项目遇到就挂,感觉好不爽啊,我写java项目bug一堆也没把tomcat搞崩了,最多就是heap overflow。可不可以让nodejs服务与应用分离呢

建议楼主多看看node用在production环境中的一些措施。。。

幻想写出不有bug的程序是不现实的

我们公司的数据服务和实时推送是 Node https://www.teambition.com/projects

我在写的项目也是app的api服务,稳定速度快。

@luyanfeng node确实有这个缺点,不过你用 pm2 来跑应用保证服务持续可用,然后看看错误日志调一调就好了嘛。

cluster 看不懂。。直接用的 pm2

高并发,低负载,弱逻辑,适合dataAPI,不适合开发web前端应用

@duyongguang 也许吧,我现在在想nodejs能不能于web服务分离开了,重现个web服务,如tomcat 。有了这我想很多问题就不再是问题了

@xiaojue 哦?不吝赐教哦

@duyongguang 顶一个,到现在都觉得Node做Web有点重,和Node本身的特点不符合,我这里一般都是用来做数据的API,和楼主你类似啊!

@duyongguang 我也觉得不太适合web前端开发,而且好用的web框架太少,现在用得很多的express也是挺弱的,所以我自己在做一个自己比较喜欢的mvc框架,容我在这里给自己的mvc框架打个广告 :) https://www.npmjs.org/package/cat-mvc

@duyongguang Node挺好的,只做view和controller层。项目的整体进度会非常的快。

@luyanfeng 没什么赐教的,直接写就好了,然后跑性能测试用例,和之前java写的api对比速度和并发么,完胜。没啥好解释的。

学到一个新东西:PM2,还好不是PM2.5

回到顶部