跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 想问一下 K8S/Docker 里的 node 有没有必要利用 cluster 启用多进程
未分類
23 1 月 2021

想问一下 K8S/Docker 里的 node 有没有必要利用 cluster 启用多进程

想问一下 K8S/Docker 里的 node 有没有必要利用 cluster 启用多进程

資深大佬 : Duluku 10

reference: https://juejin.cn/post/6844903775937757192

Node 的单线程也带来了一些问题,比如对 cpu 利用不足,某个未捕获的异常可能会导致整个程序的退出等等。因为 Node 中提供了 cluster 模块,cluster 实现了对 child_process 的封装,通过 fork 方法创建子进程的方式实现了多进程模型。比如我们最常用到的 pm2 就是其中最优秀的代表。

const cluster = require('cluster'); const http = require('http'); const numCPUs = require('os').cpus().length;  if (cluster.isMaster) {   console.log(`主进程 ${process.pid} 正在运行`);   for (let i = 0; i < numCPUs; i++) {     cluster.fork();   }    cluster.on('exit', (worker, code, signal) => {     console.log(`工作进程 ${worker.process.pid} 已退出`);   }); } else {   // 工作进程可以共享任何 TCP 连接。   // 在本例子中,共享的是 HTTP 服务器。   http.createServer((req, res) => {     res.writeHead(200);     res.end('Hello World');   }).listen(8000);   console.log(`工作进程 ${process.pid} 已启动`); }  

大佬有話說 (4)

  • 主 資深大佬 : Duluku

    我的理解是 K8S/Docker 里面应该不要启用多进程吧,应该是 docker 里面只有一个进程。

  • 資深大佬 : kaneg

    你可以用 k8s 的 pod 多副本

  • 主 資深大佬 : Duluku

    @kaneg 那我给这个 pod 分配 1C2G 还是更多会比较好?

  • 資深大佬 : kaneg

    @Duluku 这要看你的程序本身消耗多少

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具