扫码关注官方订阅号
网上很多人挺nodejs,但众所周知,node的优势在于io并发上面,而且是单线程的,如果访问的人特别多,而且逻辑有点复杂,node应付得过来吗?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
首先,在一个进程内,你写的代码看似是单线程,但其内部所有发出的IO操作(文件读写、网络请求等)并不是单线程的,比如同时发出n个异步请求,这n个异步请求都是各自有单独的线程去,主线程只是轮询处理这些成功回调。
其次,借助pm2,你的程序可以在一台服务器上拷贝出N个同样进程,这样就可以实现多进程运行了。
目前,我们上线API接口跑在2台8核服务器上,每台服务器通过pm2开启8个API进程+10个后台服务进程,通过负载均衡每秒可以处理500~600个请求,一天就3千万了。
nodejs适合io密集的场景, CPU密集的需要可以多线程的, 如JAVA. JAVA对于IO密集的场景由于线程切换的消耗,得不偿失.nodejs对于cpu密集的场景, 会阻塞异步事件完成(单线程).
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
首先,在一个进程内,你写的代码看似是单线程,但其内部所有发出的IO操作(文件读写、网络请求等)并不是单线程的,比如同时发出n个异步请求,这n个异步请求都是各自有单独的线程去,主线程只是轮询处理这些成功回调。
其次,借助pm2,你的程序可以在一台服务器上拷贝出N个同样进程,这样就可以实现多进程运行了。
目前,我们上线API接口跑在2台8核服务器上,每台服务器通过pm2开启8个API进程+10个后台服务进程,通过负载均衡每秒可以处理500~600个请求,一天就3千万了。
nodejs适合io密集的场景, CPU密集的需要可以多线程的, 如JAVA. JAVA对于IO密集的场景由于线程切换的消耗,得不偿失.nodejs对于cpu密集的场景, 会阻塞异步事件完成(单线程).