Reliable Cron Across the Planet.

This article describes Google's implementation of a distributed Cron service, serving the vast majority of internal teams that need periodic scheduling of compute jobs. During its existence, we have learned many lessons on how to design and implement what might seem like a basic service. Here, we di...

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 58; no. 6; pp. 48 - 54
Autores principales: DAVIDOVIČ, ŠTĔPÁN, GULIANI, KAVITA
Formato: Artículo
Publicado: Association for Computing Machinery Jun2015
Materias:
Acceso en línea:Ver este registro en EBSCOhost
Descripción
Sumario:This article describes Google's implementation of a distributed Cron service, serving the vast majority of internal teams that need periodic scheduling of compute jobs. During its existence, we have learned many lessons on how to design and implement what might seem like a basic service. Here, we discuss the problems that distributed Crons face and outline some potential solutions. Cron is a common Unix utility designed to periodically launch arbitrary jobs at user-defined times or intervals. We will first analyze the basic principles of Cron and its most common implementations and then review how an application such as Cron can work in a large, distributed environment, in order to increase the reliability of the system against single-machine failures. We describe a distributed Cron system that is deployed on a small number of machines, but is capable of launching Cron jobs on machines across an entire datacenter, in conjunction with a datacenter scheduling system.