使用 Supervisor 来管理 Redis 进程

Supervisor 是一个用 Python 实现的进程管理工具,可以很方便地启动,关闭,重启,查看,以及监控进程,当进程由于某种原因崩溃或者被误杀后,可以自动重启并发送事件通知。Supervisor 可谓运维利器,使用 Supervisor 来管理进程,可以提高系统的高可用特性。
随着 Redis 越来越流行,越来越多的公司都使用上了 Redis,因此 Redis 的进程管理就成了很多公司都需要面临的问题,本文介绍如何使用 Supervisor 来管理 Redis 进程。

Supervisor 简介

Supervisor 包括以下四个组件。

  • supervisord
    服务端程序,主要功能是启动 supervisord 服务及其管理的子进程,记录日志,重启崩溃的子进程,等。

  • supervisorctl
    命令行客户端程序,它提供一个类似 shell 的接口,通过 UNIX 域套接字或者 TCP 套接字并使用 XML_RPC 协议与 supervisord 进程进行数据通信。它的主要功能是管理(启动,关闭,重启,查看状态)子进程。

  • Web Server
    实现在界面上管理进程,还能查看进程日志和清除日志。

  • XML-RPC 接口
    可以通过 XML_RPC 协议对 supervisord 进行远程管理,达到和 supervisorctl 以及 Web Server 一样的管理功能。

进程被 Supervisor 管理后,其运行状态的转化图如下图 1 所示:

这里写图片描述
图 1 :子进程状态转移图

我们挑几个重要的进程状态来说明。

  • running:进程处于运行状态
  • starting:Supervisor 收到启动请求后,进程处于正在启动过程中
  • stopped:进程处于关闭状态
  • stopping:Supervisor 收到关闭请求后,进程处于正在关闭过程中
  • backoff:进程进入 starting 状态后,由于马上就退出导致没能进入 running 状态
  • fatal:进程没有正常启动
  • exited:进程从 running 状态退出

没有接触过 Supervisor 的朋友可能对上面的描述感到有些抽象,不用担心,经过下面的实践后,会快速理解 Supervisor 涉及的这些名词的。

Supervisor 初体验

我们以 CentOS 平台下为例,说明如何使用 Supervisor 这一强大的进程管理工具。

1. 安装

可以使用easy_intall来安装 Supervisor:

easy_install supervisor

也可以使用pip来安装 Supervisor:

pip install supervisor

安装过程比较简单,此处我们不再赘

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值