Runit - 监管服务的应用

查看原文

Runit 的好处:监管服务,管理状态,日志,可移植,容易打包,代码少。

  • 每个服务都和一个服务目录相关联。
  • 监管进程是 runsv,服务 daemon 作为 runsv 的子进程运行。
  • runsv 可通过各种信号通知子进程
  • sv 用于发送命令给 runsv,以及获取服务信息
  • 默认服务状态是 up,如果死了,会重新 restart
  • runit 确保服务运行的进程状态,包括环境,资源,文件描述符等等
    • init.d 存在一个问题,那就是环境变量会污染进程;但系统重启时配置的服务可能会和上次的不一样。runit 解决方法是清空,完全重设。
  • runsv 配置日志后,会通过管道将标准输出和标准错误取走写入配置的地方。
  • runit 有个日志 daemon:svlogd
  • 仅有数百行源代码