看了下CNode的源代码,好像没有看到使用cluster或者child_process的痕迹。
难道CNode只是单线程的?
那怎么利用服务器的多核呢?
我知道的有几种:
使用Nodejs原生的cluster
使用部署工具: pm2, supervisor等
使用反向代理:Nginx,阿里的LBS等
而且,按我的理解
你的问法也有问题,不应该是单线程,而是单进程
@CoderIvan
多谢,明白了
我的问法确实错了,应该是单进程
@CoderIvan @believedotchenyu 我们是在外围用了 pm2 来做启动,所以代码里面没有体现 cluster 的内容,但线上是 4 个进程跑着的(cpu数是4个)
@alsotang 其实一般 cpu 4个的华,我都会 -i 3
@alsotang 懂了
如果我需要启动个进程,但是在某些非常特殊的情况下需要实现进程间的互斥,可以怎样实现?
目前我的想法是单独开一个进程负责“锁”,其他的进程向这个进程请求权限
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
我知道的有几种:
使用Nodejs原生的cluster
使用部署工具: pm2, supervisor等
使用反向代理:Nginx,阿里的LBS等
而且,按我的理解
你的问法也有问题,不应该是单线程,而是单进程
@CoderIvan
多谢,明白了
我的问法确实错了,应该是单进程
@CoderIvan @believedotchenyu 我们是在外围用了 pm2 来做启动,所以代码里面没有体现 cluster 的内容,但线上是 4 个进程跑着的(cpu数是4个)
@alsotang 其实一般 cpu 4个的华,我都会 -i 3
@alsotang 懂了
如果我需要启动个进程,但是在某些非常特殊的情况下需要实现进程间的互斥,可以怎样实现?
目前我的想法是单独开一个进程负责“锁”,其他的进程向这个进程请求权限