runit と supervisord の違いは何ですか?

runit と supervisord の違いは何ですか?

私はDjangoのデプロイメントを変更することを検討しており、デプロイページのためにそしてそれは両方について語っています私はそれを知っていて、使用することを計画していましたが、以前聞いたことのないものです。なぜどちらか一方を選ぶのでしょうか?

私たちはレッドハットを運営しています。

答え1

スーパーバイザーはinitプロセスとして実行するように設計または意図されていない、PID 1、一方、runitはこれは、サービス管理に加えて、runitには他のプロセスの孤立した子プロセスを取得するためのコードも含まれていることを意味します。起動とシャットダウンの処理ランレベル、 そしてサービス間の依存関係、監督しながらこれらのことをしない、任意のinitシステムで動作するように設計されている。既存のinitシステムを置き換えずにrunitを使用することが可能です。ですが、それは本来の目的ではありません。runit のインストールは supervisord のセットアップ (私が行ったことがあり、かなり簡単です) よりも奥が深く、エラーが発生しやすい操作になると思いますが、他のプロセスが起動するまでプロセスの起動を遅らせる機能が必要な場合は、supervisord では不十分です。

関連情報