zoukankan      html  css  js  c++  java
  • PM2源码浅析

    PM2工作原理

    最近在玩一个游戏,《地平线:黎明时分》,最终Boss是一名叫黑底斯的人,所谓为人,也许不对,黑底斯是一段强大的毁灭进程,破坏了盖娅主进程,从而引发的整个大陆机械兽劣化故事。

    为什么要讲这么一段呢,是希望大家可以更好地理解pm2的原理,要理解pm2就要理解god和santan的关系,god和santan的关系就相当于盖娅和黑底斯在pm2中的01世界中,每一行代码每一个字节都安静的工作god就是Daemon进程 守护进程,重启进程,守护node程序世界的安宁,santan就是进程的毁灭者,异常进程的退出,杀死进程,毁灭进程等工作,都是由这位大哥操手。

    架构图如下:

    god和santan通讯的方式,就是RPC

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

    执行流程图如下:

    PM2源码浅析

    clinet启动关联daemon主进程

    God的监听进程方法

    god启动后,与satan建立rpc链接,调用prepare方法来完成集群启动

    satan通知god

    总结

    pm2的集群,从原理是采用cluster.fork来实现的,深入理解cluser模块,精度pm2的源代码,能更好的理解pm2,更好的理解node设计思想

     

    如果你喜欢我们的文章,关注我们的公众号和我们互动吧。

    我们是转转FE团队,欢迎大家关注公众号 大转转FE 。更多的了解我们。官网 http://zzfed.com
  • 相关阅读:
    2017.6.30 码云--生成公钥
    2017.6.30 IDEA插件--gsonfomat的安装与使用
    2017.6.30 安装IDEA的插件mybatis plugin(破解版)
    2017.6.29 java读取.properties配置文件的几种方法
    2017.6.29 移除再导入maven module到IDEA中时提示: Unable to proceed. Nothing found to import.
    2017.6.27 跟开涛学spring3--spring概述
    2017.6.27 jdbc基本使用
    2017.6.26 接口测试工具postman使用总结
    16-20
    11-15
  • 原文地址:https://www.cnblogs.com/zhuanzhuanfe/p/7208369.html
Copyright © 2011-2022 走看看