Zookeeper'ın Gerçek Dünyada Kullanımı [kapalı]


122

Son zamanlarda Zookeeper'a bakıyordum ve şu anda kimsenin kullanıp kullanmadığını ve özellikle depolamak için ne kullandıklarını merak ettim.

En yaygın kullanım durumu yapılandırma bilgileri içindir, ancak ne tür veriler ve ne kadar veri depoluyorsunuz?


3
Hadoop teknoloji grubu altında geliyor, burada Yahoo'dan oldukça iyi bir kullanım örneği var - developer.yahoo.net/blogs/hadoop/2009/05/…
Jon

Nasıl kullanıldığının ayrıntılarını bilmiyorum, ancak HBase'nin en son sürümünün (açık kaynaklı bir BigTable uygulaması) ZooKeeper kullandığını biliyorum.
Leo P

10
Bu sorunun tüm yanıtların toplamından daha fazla olumlu oyu var. Zookeeper'ın daha iyi bir wiki'ye ihtiyacı var.
mixdev

1
Netflix'in bunu nasıl kullandığına bakın. github.com/Netflix/curator/wiki/Recipes Curator , Netflix'in ZK için sarmalayıcı kitaplığıdır.
eSniff

Yanıtlar:


13

Apache CXF uygulama DOSGi onun hizmet kaydı deposu için Görevli kullanır. Ayrı kapsayıcılar, tüm hizmet olaylarını ve dağıtımı gösteren bir özelliğe sahip bir hizmet durumu değiştiğinde dinleyen dağıtılmış bir yazılım (dsw) paketine sahiptir. Dsw, referans uygulama durumunda hizmeti geçici düğümler olarak depolamak için zookeeper kullanan keşif paketiyle konuşur. Diğer örnekler, düğüm yapısındaki değişiklikleri arayacak ve proxy'leri yerel sistemlerine kaydedecektir. Sonuç olarak, düz OSGi'ye kod yazabilir ve şeffaf dağıtım elde edebilirsiniz.


17

17

HBase, mevcut sürümden önceki "baş düğümü" nün sorumlu olduğu etkinlikleri koordine etmek için Zookeeper'ı kullanıyor. Zookeeper'ı kullanmaya geçiş, merkezi kontrolün artık tek bir başarısızlık noktası olmadığı anlamına gelir.

Zookeeper çok yönlüdür; burada dağıtılmış bir eşzamanlı kuyruk oluşturmak için kullanmanın bir örneği:

http://blog.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/

Tabii ki, dağıtılmış bir sistemde kaynak kilitleri vb. Oluşturmak için de kullanabilirsiniz.


14

Eski soru, ancak bu sayfa hayvan bakıcısı kullanım durumları için yapılan bir Google aramasında ilk sırada geldiğinden, güncellenmiş bir liste vermenin en iyisi olacağını düşündüm

  1. wikipedia
  2. zookeeper wiki
  3. gerçek kullanıcılar

'gerçek kullanıcılar' bağlantısı artık mevcut değil :(
ginna

10

Norbert , ölçeklenebilir bir üretim sisteminden iyi bir örnek. Genel olarak, Netty, Protokol Tamponları ve Zookeeper'ı kümelenmiş hizmetleri çalıştırmak için hafif bir çerçeveye entegre eder. Protokol Arabellekleri hizmet API'nizi belirtmek için kullanılır, Netty aktarım katmanı soyutlamalarını uygular ve Zookeeper aslında hataya dayanıklı bir keşif hizmetidir.

Norbert, bir hizmet örneğinin her başlatılışında, onu belirli bir hizmet türünün kullanılabilir örneği olarak kaydeder. Uygulama açısından, iki Zookeeper ağacı oluşturur:

  • Hizmetin bilinen tüm örneklerini listeleyen "/ ServiceName / members"
  • Hizmetin şu anda mevcut örneklerini listeleyen "/ ServiceName / available"

Her düğüm için en önemli özellik, ilgili hizmet örneğine bağlanmak için kullanılacak url'dir. İstemci tarafı yük dengelemesini mümkün kılar - bir Norbert istemcisi belirli bir hizmet adı için url'lerin listesini bulur ve bunlardan birine bağlanma girişimi bir sırayla (örneğin, sıralı veya rastgele).


6

Elastic Cloud'da ZooKeeper hakkında ZooKeeper - The King of Coordination hakkında güzel bir makale var .

Örneğin Found'da, ZooKeeper'ı keşif, kaynak tahsisi, lider seçimi ve yüksek öncelikli bildirimler için yoğun bir şekilde kullanıyoruz. Bu makalede, sizi bu Koordinasyon Kralı ile tanıştıracağız ve Found at ZooKeeper'ı nasıl kullandığımıza yakından bakacağız.



3
  • Storm , birkaç şirket tarafından kullanılıyor (Twitter ve Groupon en iyi bilinen iki şirkettir) ve Zookeeper'a güveniyor.
  • Kafka , Linkedin tarafından kullanılır ve Zookeeper'a güvenir.

Storm , tüm durumu depolamak için Zookeeper'ı kullanır, böylece herhangi bir (dağıtılmış) bileşen hizmetindeki bir kesintiden kurtarabilir.

Bu, bileşen hizmetlerinin durum bilgisi içermemesine ve yapılandırma verileri gerektiğinde Zookeeper sunucularına basitçe indirilmesine veya senkronize edilmesine olanak tanır. Bir üretim sunucusunu kurtarmak zorunda kaldıysanız, bunun ne kadar baş ağrısı olabileceğini bileceksiniz!

Kafka kuyruğu tüketicileri, kuyruktan ne tüketildiğine ilişkin bilgileri (yüksek su işareti) depolamak için Zookeeper'ı kullanabilir.


2

Benim durumumda, küme kullanımı için yapılandırma dosyalarını zookeeper topluluğunda depoluyoruz. Lider -> takipçi şeması kullanıyoruz. Yani bir hayvanat bahçesi görevlisi yere düştüğünde, diğerine geçiyoruz (çoğaltılmış mod)




1

datomic , riak tabanlı veri depolamayı yönetmek için apache zookeeper'ı kullanır.

Riak şu anda yalnızca nihai tutarlılığı desteklediğinden, Riak üzerinde çalışan bir Datomic sistemi ayrıca yüksek düzeyde erişilebilir bir koordinasyon hizmeti olan Apache ZooKeeper'ı da kullanır. Datomic, işlemcilerin yük devretme koordinasyonu için ve CAS ile güncellenmesi gereken veritabanı başına bir avuç anahtar için ZooKeeper'ı kullanır. kaynak: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.