警告:本文仅作为 PM2 入门级介绍指南,并无实现原理等深入内容的研究,PM2 深度用户请绕行!另外,如果文章内容存在过分夸张或者解释不合理的地方,敬请指(忽)正(略)!
通常来讲,在服务器上部署项目,需要一定地容灾手段,否则遇天灾(停电、服务器异常)人祸(被攻击重启),所有项目直接罢工,紧接着负责系统的您,也该随之凉凉了。这个时候,就需要祭出我们的借尸还魂大法,来确保项目的稳健运行。
开始借尸
说借尸其实有点牵强,不如我们叫它造尸吧!来,我们先执行一个魔咒(命令),急急如律令:
# save或者dump都可以,看心情吧
pm2 save|dump
还魂归位
在还魂之前,不管你对 pm2 守护的狗子们(进程)怎么折腾,打晕(stop)也好,叫醒(start)也罢,或者直接杀了(kill),都随意。只要你对 pm2 喊一声(执行以下命令):
pm2 resurrect
所有之前造的尸,立刻马上统统地全部就地满血复活,而且各个生龙活虎,熠熠生辉!
偷天换日
当我们完成借尸以后,按理说呢,应该规规矩矩地守好自己的老本,万一服务器出个什么差池,也好再规规矩矩的还魂,一本万利,长盛不衰!
如果您真的这么想,那么恭喜!您的老板可能会直接让您光荣下岗。为啥呢?因为我们造的尸,应该是活的(有点瘆人),随着项目的不断发展壮大,我们需要对反复对这个尸进行变更,比如新增一个、删除一个、修改一个等等。这个时候,我们只需重新朗诵我们的魔咒:
# save或者dump都可以,看心情吧
pm2 save|dump
一个完整的生龙活虎的尸,就又出现了。
绝对成立
绝对成立的意思是:在正常借尸的情况下,是绝对可以还魂的。不管你是直接还魂,还是服务器异常启动还魂,还是停电重启还魂,还是闲的没事 reboot 服务器再还魂,还是巴拉巴拉各种还魂…都是没有问题的。
不过…也不绝对,所谓绝对的前提是:pm2 本身很健壮,没有任何异常,并且其宿主操作系统也正常运转。在满足以上两个条件的情况下,我可以很认真负责的说,几乎(鬼知道实际还有什么复杂场景)绝对成立!
这一章写的有点惊悚,但是话糙理不糙,一个具备容灾的监控系统,才是健康,可靠的。依托于 pm2,我们只需记住两个简单的咒语(命令),就可以安枕无忧了。
网友评论