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

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

  • tomcat挂了,站点应用访问不了
  • service出core了,服务挂了

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

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

supervisor是什么?

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

supervisor有什么用?

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

supervisor是怎么做到的?

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

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

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

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

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

希望没有浪费这一分钟。

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

原文发布于微信公众号 - 架构师之路(road5858)

原文发表时间:2018-04-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JavaEdge

分布式实践(一) - CAP原则

如图所示,是我们证明CAP的基本场景,网络中有两个节点N1和N2,可以简单的理解N1和N2分别是两台计算机,他们之间网络可以连通,N1中有一个应用程序A,和一个...

852
来自专栏双十二技术哥

组件化实践详解(二)

在上一篇文章《组件化实践详解(一)》中我们介绍了组件化实践的目标和实践步骤,本文继续说说关于组件化实践遇到的问题及思考。

1064
来自专栏腾讯Bugly的专栏

手Q Android缓存监控与优化实践

死锁问题对产品的影响是巨大的,那么是否会有效的方法能够监控Android应用的死锁呢?

69312
来自专栏菩提树下的杨过

oAuth 2.0 笔记

OAuth 2.0规范于2012年发布,很多大型互联网公司(比如:微信、微博、支付宝)对外提供的SDK中,授权部分基本上都是按这个规范来实现的。 OAuth 2...

18510
来自专栏Linyb极客之路

分布式事务之ACID、BASE和CAP原理

ACID,是指在数据库管理系统(DBMS)中,事务(transaction)所具有的四个特性:原子性(Atomicity)、一致性(Consistency)...

1305
来自专栏北京马哥教育

分布式文件系统Mogilefs介绍

一、分布式文件系统简介: 什么是分布式存储: 分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器...

3115
来自专栏老九学堂

进程与线程的区别?

进程是什么? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是...

35911
来自专栏菩提树下的杨过

oAuth 2.0 笔记

OAuth 2.0规范于2012年发布,很多大型互联网公司(比如:微信、微博、支付宝)对外提供的SDK中,授权部分基本上都是按这个规范来实现的。 OAuth 2...

2078
来自专栏MongoDB中文社区

MongoDB 3.6中的新功能 (1) - 发展的速度

New in MongoDB 3.6. What’s New in MongoDB 3.6. Part 1 – Speed to Develo

1171
来自专栏Tech Talk

从问题定位谈基础的重要性

某天下午TIM官网突然无法访问(502错误),官网是纯静态页面,挂在nginx服务器下,我们下午也没有做发布。那么,问题出现在什么地方呢?下面就讲讲我定位、...

38712

扫码关注云+社区