Fork 和 Cluster

Pandora.js 提供了 Fork 和 Cluster 用于方便对接存量应用,基本是对现有能力的封装,关系简述如下:

  1. module.exports = function (pandora) {
  2. /**
  3. * Fork 模式的内在机理
  4. */
  5. // fork ./app.js 并命名为 forkProcess
  6. pandora
  7. .fork('forkProcess', './app.js');
  8. // 等价于
  9. pandora
  10. // 新建一个进程定义
  11. .process('forkProcess')
  12. // 定义该进程的入口文件为 ./app.js
  13. .entry('./app.js');
  14. /**
  15. * Cluster 模式的内在机理
  16. */
  17. pandora
  18. .cluster('./app.js');
  19. // 等价于
  20. pandora
  21. .service('clusterX', class ClusterService {
  22. start() {
  23. require('./app.js');
  24. }
  25. })
  26. // 不指定默认也是 worker
  27. .process('worker');
  28. }