5.3. Dağıtık Kilitleme
Bir dağıtık kilit, makineler arası karşılıklı dışlama (mutual exclusion) vaat eder, ama bu vaat kırılgandır: bir kilit sahibi duraksadığı anda — GC için, bir ağ kesintisi için — kirası sona erebilir ve ikinci bir sahip aynı kilidi edinebilir; her ikisi de kilidi tuttuğuna inanır. Bu bölüm, kiralama tabanlı kilitlemeyi, kilitleri (yalnızca verimlilik için değil) doğruluk için güvenli kılan fencing token’larını ve bir dağıtık kilide tam olarak ne zaman güvenilebileceğini ve güvenilemeyeceğini kristalize eden Redlock tartışmasını kapsar.
İncelenen Konular
Section titled “İncelenen Konular”- 5.3.1. Kilit Temelleri: Dağıtık Sistemlerde Karşılıklı Dışlama: Dağıtık bir ortamda karşılıklı dışlamayı ve neden süreç içi kilitlemeden temelde daha zor olduğunu kurar.
- 5.3.2. Kiralama Tabanlı Kilitleme: TTL, Yenileme ve Sona Erme Semantiği: TTL, yenileme ve kilitleri kendiliğinden serbest bırakan sona erme semantiği ile kiralama tabanlı kilitlemeyi kapsar.
- 5.3.3. Fencing Token’ları: Eski Kilit Sahiplerini Engellemek: Fencing token’larını derinlemesine açıklar: duraklamış bir kilit sahibinin durumu bozmasını engelleyen monotonic sayaç.
- 5.3.4. Redlock Algoritması: Redis Dağıtık Kilit Tartışması: Redlock tartışmasının her iki tarafını ve Redis tabanlı bir kilide ne zaman güvenilebileceğini ve güvenilemeyeceğini sunar.
- 5.3.5. ZooKeeper ve etcd Tarifleri: Üretim Kilit Uygulamaları: Ephemeral node’lar ve lease’ler kullanarak ZooKeeper ve etcd üzerine kurulu üretim kalitesinde kilit tariflerini kapsar.