服务挂了,怎么自动恢复?

大家或许都碰到过这样的情况:

tomcat挂了,站点应用访问不了

service出core了,服务挂了

架构设计上,避免单点,使用故障自动转移固然能够保证系统的高可用,是否还有其他的方案,让挂掉的服务自动启动呢,这里给大伙推荐一个常见的运维工具 supervisor。

画外音:supervisor是很常见的运维工具,以下几个小问题旨在让不熟悉的同学简单了解相关原理,献丑了。

supervisor是什么?

:用Python开发的通用的进程管理工具。

supervisor有什么用?

:supervisor能把一个普通进程变为后台daemon进程,并监控进程状态,在进程异常退出时能够自动重启(或者告警),同时还提供一些相关的管理功能。

supervisor是怎么做到的?

:supervisor通过fork/exec的方式,把被管理的进程当作其子进程来启动,在被管理的子进程异常退出时(例如tomcat出异常挂掉,或者服务出core挂掉,或者收到异常信号挂掉),作为父进程可以获取相关信息,以选择后续如何处理。

之前没用过supervisor,这玩意是否靠谱?

:额,supervisor诞生10年以上了,绝对靠谱,绝大部分运维同学都熟知它。

作为程序员,了解一些运维的知识有用么?

:额,知道“&”与“nohup”的区别,对写程序可能没帮助,但对理解整个技术体系及思路肯定是有好处的。

希望没有浪费这一分钟。

调研:“&”与“nohup”的区别是啥呀?

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180419B1G02D00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券