Linux
Shell scripts - 클러스터링 작업 시 사용한 기술 기록
개발 일기92
2024. 4. 13. 18:01
redis -> postgresql로 적재하는 python프로그램 이중화
as-is
- 실시간 데이터 적재 프로그램 1번 서버에서 py프로그램 crontab 1분마다 실행
- 1서버 shutdown시 db적재불가.
to-be
- 2번 서버의 python환경을 1서버와 동일하게 맞춤
- 2번 서버에서 1번서버의 heartbeat상태를 체크.(30초마다 1번서버의 heartbeat가 로그를 남김)
- 1번 서버의 heartbeat상태 체크 후 shutdown상태일 시 ping명령어의 receive신호와 python프로그램이 구동중인지(ssh명령어) 체크
- 1번 서버 이슈 해소 시 2번 서버 python프로그램 자동 종료
※ 테스트
- 1번, 2번 서버가 동시에 프로그램이 구동되는 순간이 있는가? 있다면 중복 적재에 대한 해결법은?
- => 구동되는 순간이 있었다. 중복 적재는 DB 테이블의 key구조로 duplicate가 나기 때문에 중복 데이터는 없음.