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

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

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

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

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

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

supervisor是什么?

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

supervisor有什么用?

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

supervisor是怎么做到的?

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

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

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

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

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

希望没有浪费这一分钟。

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

目录
相关文章
|
Java 对象存储
|
8月前
|
弹性计算 运维 自然语言处理
Copilot测评报告------终端智能化
作为一名后端开发工程师,我日常需要进行云资源的运维和管理。2025年初,我尝试了阿里云推出的OS Copilot,这款基于大模型的操作系统智能助手支持Alinux、CentOS、Ubuntu等系统,具备自然语言问答、辅助命令执行、系统运维调优等功能。安装过程简单流畅,通过简单的配置即可使用。Copilot不仅能处理复杂指令,还能解释管道命令,极大提升了Linux系统的使用效率。尤其在agent模式下,智能化程度更高,显著减轻了工程师的工作负担。总的来说,Copilot的表现令人惊艳,终端操作从此更加智能便捷。
|
11月前
|
Kubernetes 应用服务中间件 Linux
多Master节点的k8s集群部署
多Master节点的k8s集群部署
modelscope-funasr怎么拿验证集评估微调后的模型效果呢
【2月更文挑战第19天】modelscope-funasr怎么拿验证集评估微调后的模型效果呢
331 1
|
SQL 数据库
深入理解 SQL UNION 运算符及其应用场景
SQL UNION运算符用于组合两个或多个SELECT语句的结果集。 每个UNION中的SELECT语句必须具有相同数量的列。 列的数据类型也必须相似。 每个SELECT语句中的列也必须按照相同的顺序排列。
312 1
|
安全 Cloud Native 关系型数据库
联合浙大斩获SIGMOD最佳论文,PolarDB团队解读产学合作新范式
针对本次PolarDB 查询优化器当中的漏洞探测这一传统经典问题,阿里云与浙大的研究团队创新使用Learning-Base的方法来指导在给定shcehma集合之上搜寻有效的Join Query组合,最终取得了突破性成果,这充分展现了计算机系统多领域交叉技术研究的效力。下文概述本篇论文要解决的核心问题及技术思路。
联合浙大斩获SIGMOD最佳论文,PolarDB团队解读产学合作新范式
|
API 区块链 数据安全/隐私保护
【Web3 探索】如何快速获取 PancakeSwap 交易数据?
PancakeSwap是Binance Smart Chain上受欢迎的去中心化交易所,了解其交易数据对于开发人员和交易者都很重要。在本指南中,我们将探讨如何使用GraphQL检索PancakeSwap的交易数据。
643 0
【Web3 探索】如何快速获取 PancakeSwap 交易数据?
|
缓存 负载均衡 NoSQL
每日一博 - 闲聊“突发流量”的应对之道
每日一博 - 闲聊“突发流量”的应对之道
648 0