Server Watchdog
서버의 배포, 무중단 배포, health check등을 지원하는 프로그램
기능
- 이용자는 메신저(ex telegram)을 통해서 server의 health check를 진행할 수 있다.
- health check는 http를 통해서 진행된다.
- 롤링 배포 지원
- http로 Graceful Shutdown 가능
- 일정 시간 유예 후 kill 하는 방식
- cli와 file을 통해서 설정 가능
- 서버 url, health check
아키텍처
- messenger
- api나 key를 설정하는 기능
- 메신저 프로그램으로 메시지 보내는 기능
- polling을 통해서 메시지를 받아오는 기능
- webhook을 통해서 메시지를 받아오는 기능
- core
- 실제 로직
- watchdog
- server의 health check
- graceful shutdown 요청
- kill server
Flow
sequenceDiagram
User ->> messenger: 서버 상태 list 요청
messenger ->> core: 서버 상태 데이터 요청
loop 모든 server 상태 체크
core ->> watchdog: 상태 체크
watchdog -->> core: 서버 상태
end
core -->> messenger: 응답
messenger -->> User: 응답