Slack 에서 크론 돌리는 법

zxzl·2023년 11월 23일
0

https://slack.engineering/executing-cron-scripts-reliably-at-scale/

따지고보면 젠킨스 마스터가 있고 워커 노드가 여러개 있는 구조랑 크게 다를 것이 없는데, 마스터랑 워커 노드 사이에 Job Queue가 있고 온갖 메타데이터가 Vitess에 저장되는 것이 차이점.
Job Queue / Vitess야 원래 슬랙에서 쓰는거라서 가져다 쓴 것이고, master를 어떻게 디자인했냐가 재밌는 부분.

Leader 하나를 두는데 어차피 실제 일은 JobQueue가 다 하기 때문에 Leader 하나로 충분하다고 한다 + 매분 00초 이럴 때만 stanby -> leader promote 를 피하면 leader 바뀌면서 작업에 지장갈 일이 거의 없다고 한다.

이런 실용적인 디자인 너무 좋다 +_+

profile
노션 대용 velog

0개의 댓글