Dağıtık sistemlerde saat senkronizasyonu, mühendislerin uykularını kaçıran temel sorunlardan biridir. Binlerce makinenin veri merkezleri, kıtalar ve zaman dilimleri arasında bağımsız olarak çalıştığı bir ortamda "saat kaç?" sorusu şaşırtıcı derecede karmaşık hale gelir. Bunun temel nedeni, küresel bir saatin olmamasıdır. Her bilgisayarın dahili bir saati bulunur ve bu saatler genellikle bir kuvars kristal osilatör tarafından çalıştırılır. Ancak bu kristaller mükemmel değildir; sıcaklık değişimleri, üretim farklılıkları ve zamanla yaşlanma gibi faktörler nedeniyle salınım frekansları değişir. Bu durum, iki bilgisayarın başlangıçta aynı anda çalışmaya başlasa bile zamanla birbirinden sapmasına (drift) yol açar. Bir gün içinde yüzlerce milisaniye, bir ayda ise saniyelerle ifade edilen farklar oluşabilir.
Saat sapması (clock skew) ve saat kayması (clock drift), dağıtık sistemlerde ciddi sorunlara yol açar. Örneğin, bir make sisteminde istemci makinenizin saati sunucudan gerideyse, kaynak dosyada yaptığınız değişiklikler derlenmeyebilir. İstemcideki kaynak dosya, sunucudaki derlenmiş nesne dosyasından daha eski görüneceği için make yeniden derleme yapmaz ve değişiklikleriniz göz ardı edilir. Veritabanı sistemlerinde ise iki işlemin neredeyse aynı anda gerçekleştiği durumlarda zaman damgası sorunları daha da kritik hale gelebilir, bu da veri tutarsızlıklarına ve hatalı işlem sıralamalarına yol açabilir. Bu tür senkronizasyon sorunları, veritabanı tutarlılığından hata ayıklamaya ve finansal işlemlere kadar birçok alanı etkiler.
Dağıtık sistemlerdeki saat senkronizasyonu sorunları, basit bir zaman algısının karmaşık altyapılarda nasıl kritik hatalara yol açabileceğini gösteriyor.