plan

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: 응답