Penggunaan Penjaga Kebun di Dunia Nyata [ditutup]


122

Saya telah melihat Zookeeper baru-baru ini dan bertanya-tanya apakah ada yang menggunakannya saat ini dan apa yang secara khusus mereka gunakan untuk menyimpannya.

Kasus penggunaan yang paling umum adalah untuk informasi konfigurasi, tetapi jenis data apa dan berapa banyak data yang Anda simpan?


3
Itu berada di bawah kelompok teknologi Hadoop, ada kasus penggunaan dari Yahoo di sini yang cukup bagus - developer.yahoo.net/blogs/hadoop/2009/05/…
Jon

Saya tidak tahu secara spesifik bagaimana penggunaannya, tetapi saya tahu bahwa versi terbaru HBase (implementasi BigTable open source) menggunakan Zookeeper.
Leo P

10
Pertanyaan ini memiliki lebih banyak suara positif daripada semua jawaban yang digabungkan. Zookeeper membutuhkan wiki usecase yang lebih baik.
mixdev

1
Lihat bagaimana Netflix menggunakannya. github.com/Netflix/curator/wiki/Recipes Curator adalah pustaka pembungkus Netflix untuk ZK.
eSniff

Jawaban:


13

The Apache CXF pelaksanaan dari DOSGi menggunakan zookeeper untuk repositori pendaftaran layanan. Penampung individu memiliki bundel perangkat lunak (dsw) terdistribusi yang mendengarkan semua kejadian layanan dan ketika status layanan berubah yang memiliki properti yang menunjukkan distribusi. Dsw berbicara dengan bundel penemuan yang, dalam kasus implementasi referensi, menggunakan zookeeper untuk menyimpan layanan sebagai node sementara. Instance lain akan mencari perubahan pada struktur node dan mendaftarkan proxy di sistem lokalnya. Hasil akhirnya adalah Anda dapat membuat kode ke OSGi biasa dan berakhir dengan distribusi transparan.



17

HBase menggunakan Zookeeper untuk mengoordinasikan aktivitas yang menjadi tanggung jawab "simpul kepala" -nya sebelum versi saat ini. Perpindahan menggunakan Zookeeper berarti kontrol pusat tidak lagi menjadi satu titik kegagalan.

Zookeeper sangat serbaguna; berikut adalah contoh penggunaannya untuk membangun antrian serentak terdistribusi:

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

Tentu saja Anda juga dapat menggunakannya untuk membuat kunci sumber daya, dll, dalam sistem terdistribusi.



10

Norbert adalah contoh yang baik dari sistem produksi yang dapat diskalakan. Secara umum, ini mengintegrasikan Netty, Protocol Buffer dan Zookeeper ke dalam kerangka kerja yang ringan untuk menjalankan layanan berkerumun. Protocol Buffer digunakan untuk menentukan API layanan Anda, Netty menerapkan abstraksi lapisan transport dan Zookeeper pada dasarnya adalah layanan penemuan yang toleran terhadap kesalahan.

Setiap kali instance layanan dimulai, Norbert mendaftarkannya sebagai instance yang tersedia dari jenis layanan tertentu. Dari perspektif implementasi, ini menciptakan dua pohon Zookeeper:

  • "/ ServiceName / members" yang mencantumkan semua contoh layanan yang diketahui
  • "/ ServiceName / available" yang mencantumkan instance layanan yang saat ini tersedia

Properti paling penting untuk setiap node adalah url yang akan digunakan untuk terhubung ke instance layanan yang sesuai. Ini memungkinkan penyeimbangan beban sisi klien - klien Norbert menemukan daftar url untuk nama layanan tertentu dan mencoba untuk menyambung ke salah satunya adalah beberapa urutan (misalnya round-robin atau acak).


6

Ada artikel bagus ZooKeeper - Raja Koordinasi tentang ZooKeeper di Elastic Cloud.

Di Found, misalnya, kami menggunakan ZooKeeper secara ekstensif untuk penemuan, alokasi sumber daya, pemilihan pemimpin, dan pemberitahuan prioritas tinggi. Pada artikel ini, kami akan memperkenalkan Anda kepada Raja Koordinasi ini dan melihat lebih dekat bagaimana kami menggunakan ZooKeeper di Found



3
  • Storm digunakan oleh sejumlah perusahaan (Twitter dan Groupon menjadi dua yang lebih terkenal) dan mengandalkan Zookeeper.
  • Kafka digunakan oleh Linkedin dan mengandalkan Zookeeper.

Storm menggunakan Zookeeper untuk menyimpan semua status sehingga dapat pulih dari pemadaman di salah satu layanan komponen (terdistribusi).

Hal ini memungkinkan layanan komponen menjadi tanpa kewarganegaraan dan cukup mengunduh atau menyinkronkan dengan server Zookeeper saat data konfigurasi diperlukan. Jika Anda pernah harus memulihkan server produksi, Anda akan tahu betapa memusingkannya hal ini!

Konsumen antrian Kafka dapat menggunakan Zookeeper untuk menyimpan informasi (tanda air tinggi) tentang apa yang telah dikonsumsi dari antrian.


2

Dalam kasus saya, kami menyimpan file konfigurasi di ansambel penjaga kebun binatang untuk penggunaan cluster. Kami menggunakan pemimpin -> skema pengikut. Jadi ketika satu penjaga kebun binatang turun kita ditukar dengan yang lain (mode direplikasi)




1

datomic menggunakan apache zookeeper untuk mengelola penyimpanan data berbasis riak.

Karena Riak hanya mendukung konsistensi akhir saat ini, sistem Datomic yang berjalan di Riak juga menggunakan Apache ZooKeeper, layanan koordinasi dengan ketersediaan tinggi. Datomic menggunakan ZooKeeper untuk koordinasi failover transactor, dan untuk beberapa kunci per database yang perlu diperbarui dengan CAS. sumber: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.