etcd ve ZooKeeper
Kısaca: etcd ve ZooKeeper, dağıtık programların yapılandırmayı, kilitleri ve lider seçimini eşgüdümlemek için kullandığı küçük, güçlü tutarlı veri depolarıdır.
Biraz daha ayrıntılı: Az ama önemli veriyi birkaç düğümde saklar ve bir mutabakat protokolüyle bunda anlaşırlar. etcd Raft, ZooKeeper ZAB protokolünü kullanır.
Ayrıntılı
- Veri modeli: etcd: düz anahtar-değer deposu. ZooKeeper: dosya sistemi gibi “znode” ağacı.
- Watch’lar: İstemciler sürekli sormak yerine değişikliklerden haberdar edilir.
- Lease’ler/geçici düğümler: Sahibi çökerse bir kayıt kaybolur. Hizmet kaydı ve lider seçimi buna dayanır.
- Çoğunluk (quorum): Düğümlerin çoğunluğu gerekir (3 veya 5). Kaybolursa yazma durur.
- Kullanım: etcd, Kubernetes’in durum deposudur. ZooKeeper uzun süre Kafka’yı ve Hadoop’u eşgüdümledi.
- Amaçlanmayan kullanım: Büyük veri hacimleri veya ağır yazma yükü.
Ayrıca bak: Kubernetes