skip to Main Content
1544-6561|070-4842-6588 koandi.com@gmail.com

많은 시스템에서 정기적으로 예약 된 작업이 있지만 이러한 작업을 분산 환경에서 안정적으로 실행하는 것은 놀라운 일이 아닙니다.

가상 머신에서 표준 UNIX cron 작업 스케줄링 서비스 를 실행하려고한다고 상상해보십시오 . 자동 확장 및 네트워크 분할로 인해 많은 개별 기계가 출퇴근을합니다. 따라서 예정된 인스턴스를 사용할 수 없기 때문에 중요한 작업을 실행할 수 없습니다. 또는 한 번만 실행하려는 작업은 자동 스캐너가 온라인 상태로 전환 할 때 많은 서버에서 중복 될 수 있습니다.

스케줄링을 위해 Cloud Scheduler 를 사용 하고 메시징을 위해 Google Cloud Pub / Sub 를 사용하면 가상 시스템에 대한 분산 및 내결함성 스케줄러를 구축 할 수 있습니다. 이 디자인 패턴에서는 Cloud Scheduler에서 작업을 예약합니다. Cloud Scheduler는 Cloud Pub / Sub를 사용하여 이벤트를 각 Compute Engine 인스턴스에서 실행되는 유틸리티로 전달합니다. 해당 유틸리티가 메시지를 받으면 Cloud Pub / Sub 항목에 해당하는 스크립트를 실행합니다. 스크립트는 마치 cron에 의해 실행 된 것처럼 인스턴스에서 로컬로 실행됩니다. 사실,이 디자인 패턴으로 기존 cron 스크립트를 재사용 할 수 있습니다.

분산 메시징을 위해 Cloud Pub / Sub를 사용한다는 것은 여러 서버 중 하나에서만 실행되거나 여러 서버에서 동시에 작업을 실행하도록 일정을 예약 할 수 있음을 의미합니다. 이 주제와 가입자 모델 (아래 그림 참조)을 사용하면 주어진 작업을 수신하고 수행 할 인스턴스를 제어 할 수 있습니다.

cronjob_cloud_scheduler.png

이 디자인 패턴에 대한 자세한 설명은  GitHub 의 샘플 구현 을 포함 하는 Google Compute Engine 의 신뢰할 수있는 작업 예약을 참조하십시오 . 오픈 소스 샘플에서 직접 풀 요청을하거나 오픈 이슈를 열어보십시오.

Back To Top