text: (window.webpackJsonp=window.webpackJsonp||[]).push([[28],{190:function(t,e,r){"use strict";r.r(e);var s=r(0),a=Object(s.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"content"},[r("h1",{attrs:{id:"cluster-集群"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#cluster-集群","aria-hidden":"true"}},[t._v("#")]),t._v(" cluster 集群")]),t._v(" "),r("p",[t._v("由于单个node.js实例运行在单线程上面。为了充分利用多核系统，又是需要启动一组node.js进程去处理负载任务。")]),t._v(" "),r("h2",{attrs:{id:"工作原理"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#工作原理","aria-hidden":"true"}},[t._v("#")]),t._v(" 工作原理")]),t._v(" "),r("p",[t._v("工作进程是由child_process.fork()方法创建，而fork的工作原理是由父进程创建出一个子进程，子进程和父进程拥有相同的代码段，数据段和堆栈，但是他们的内存地址不共享。")]),t._v(" "),r("h2",{attrs:{id:"集群使用的场景"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#集群使用的场景","aria-hidden":"true"}},[t._v("#")]),t._v(" 集群使用的场景")]),t._v(" "),r("p",[t._v("我们可以 Nginx 做多机器集群上的负载均衡，然后用 Node.js Cluster 来实现单机多进程上的负载均衡")])])}],!1,null,null,null);e.default=a.exports}}]);