Supports both poll and event based conditions.Easily write your own custom conditions in Ruby It is suitable for complex process management. One can write a complex configuration file to control various levels of a program lifecycle. God is a powerful but complicated process management system which provides full control over how a program can be monitored. Subprocess cannot be ran in daemon mode.No process dependency management(Can use event listener to achieve this somehow).This makes it suitable for either container environment or normal environment It can be ran either in daemon mode or non-daemon mode.Easy to configure and suitable for non-complicated management.Light weight with enough features like restart, parallel starting, event listener, start retries etc.It can be used to monitor processes and restart them in case the subprocess exits and it has event listener to listen to different events so that appropriate actions can be taken. Supervisord is a light weight process management system which can manage subprocesses specified in supervisord configuration file. In this post, we will cover three of them : Supervisord, God and Monit. There are a few monitoring tools available for developers to use. To maintain this kind of logic, there would be some process monitoring tool coming into the picture so that the monitoring tool will monitor all application processes and it would have a PID of 1 which the docker container cares about only. In cases where multiple processes exist in a docker container, the logic should be that the docker container would shut down if the master process is terminated and it should remain running if some assistant process is terminated and the assistant process should be automatically restarted. In this case, to monitor all these processes would be a challenge task. However, in reality there would be cases multiple processes would run in one single docker container and there is a master process. Ideally, each docker container should only contain one service which has only one running process. With the popularity of Docker, more and more service have been moved into docker containers and they are easy to build up and maintain for each atomic service(though it's a bit complex to maintain multiple docker containers which contain different service to form a complete solution).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |