5

Zookeeper ve dağıtık sistemlerde yeniyim ve kendim öğreniyorum.ZooKeeper ve herhangi bir dağıtılmış Anahtar-Değer mağazaları arasındaki fark nedir?

Şimdilik anladığım kadarıyla, ZooKeeper sadece anahtarları anahtarlar ve değerler dizeleri olan bir anahtar-değer deposu gibi görünüyor, ki bunlar Redis'ten farklı bir şey değil. (Ve görünüşe göre slash ile ayrılmış yolu redis'te de tuşlar olarak kullanabiliriz.)

Benim sorum şu, ZooKeeper ve diğer dağıtılmış KV mağazası arasındaki temel fark nedir? ZooKeeper neden basit dizeler yerine "yollar" olarak adlandırılan tuşları kullanıyor?

cevap

13

ZooKeeper'in yüksek düzey veri modelini diğer önemli değer mağazalarıyla karşılaştırıyorsunuz, ancak bu onu benzersiz kılan şey değil. Dağıtılmış sistemler açısından bakıldığında, ZooKeeper diğer birçok önemli değer deposundan (özellikle Redis) farklıdır çünkü güçlü bir şekilde tutarlıdır ve kümenin çoğunluğu bağlanırken arızaları tolere edebilir. Buna ek olarak, veriler bellekte tutulurken, kümenin büyük bir çoğunluğuna senkronize edilen ve diskin tarafından yedeklendiği senkronize olarak yazılır, bu nedenle bir yazma başarılı olduğunda, yazmanın kaybolmayacağını garanti eder (bir füze saldırısının engellenmesi). Bu, ZooKeeper'ı yapılandırmalar gibi küçük miktarlardaki kritik görevi saklamak için çok yararlı kılmaktadır. Tersine, Redis dağıtık bir sistem değildir ve ZooKeeper'ın yaptığı aynı tür garantiler sağlamamaktadır ve dağıtılan diğer pek çok anahtar değer depoları da sonuçta tutarlı kalmaktadır. Başka bir deyişle, bir değer yazıldığında, dağıtılmış bir sistemdeki tüm diğer süreçlerin bu değeri görebileceğinin bir garantisi yoktur. Son olarak, saklamak için bir arabirim gibi dosya sistemine ek olarak ZooKeeper, daha karmaşık sorunların çözülebileceği oldukça düşük seviyeli özellikler sağlar. Apache Küratörlüğüne bu örneklerin örnekleri için. Küratör, ZooKeeper'in geçici düğümlerini (onları oluşturan müşterinin bağlantısı kesildiğinde ortadan kaybolan düğümler), dağıtılmış sistemleri koordine etmek için son derece yararlı olan kilitler ve lider seçimler gibi şeyler inşa etmek için kullanır. Bu açıdan bakıldığında, ZooKeeper'in veri modeli ve ilgili özellikleri, dağıtılmış koordinasyon için daha üst düzey araçların oluşturulabildiği ilkel görevler olarak hizmet eder.

İlgili konular