การใช้งาน Zookeeper ในโลกแห่งความเป็นจริง [ปิด]


122

เมื่อเร็ว ๆ นี้ฉันได้ดูZookeeperและสงสัยว่ามีใครใช้มันอยู่หรือไม่และพวกเขาใช้มันเพื่อจัดเก็บอะไรโดยเฉพาะ

กรณีการใช้งานที่พบบ่อยที่สุดคือข้อมูลการกำหนดค่า แต่คุณจัดเก็บข้อมูลประเภทใดและข้อมูลเท่าใด


3
อยู่ภายใต้กลุ่มเทคโนโลยี Hadoop มีกรณีการใช้งานจาก Yahoo ที่นี่ค่อนข้างดี - developer.yahoo.net/blogs/hadoop/2009/05/…
จอน

ฉันไม่รู้รายละเอียดวิธีการใช้งาน แต่ฉันรู้ว่าHBaseเวอร์ชันล่าสุด(การใช้งาน BigTable แบบโอเพนซอร์ส) ใช้ ZooKeeper
Leo P

10
คำถามนี้มีคะแนนโหวตมากกว่าคำตอบทั้งหมดที่รวมกัน Zookeeper ต้องการวิกิ usecase ที่ดีกว่า
mixdev

1
ดูว่า Netflix ใช้งานอย่างไร github.com/Netflix/curator/wiki/Recipes Curator เป็นไลบรารี่ของ Netflix สำหรับ ZK
eSniff

ตรวจสอบบทความนี้: stackextend.com/zookeeper/…
Mouad EL Fakir

คำตอบ:


13

การใช้งาน Apache CXFของ DOSGi ใช้ zookeeper สำหรับที่เก็บการลงทะเบียนบริการ แต่ละคอนเทนเนอร์มีชุดซอฟต์แวร์แบบกระจาย (dsw) ที่รับฟังเหตุการณ์บริการทั้งหมดและเมื่อสถานะบริการเปลี่ยนแปลงที่มีคุณสมบัติที่ระบุการแจกจ่าย dsw พูดถึงชุดข้อมูลการค้นพบซึ่งในกรณีการใช้งานอ้างอิงใช้ zookeeper เพื่อจัดเก็บบริการเป็นโหนดชั่วคราว อินสแตนซ์อื่น ๆ จะมองหาการเปลี่ยนแปลงโครงสร้างโหนดและลงทะเบียนพร็อกซีในระบบโลคัล ผลลัพธ์สุดท้ายคือคุณสามารถโค้ดเป็น OSGi ธรรมดาและจบลงด้วยการกระจายแบบโปร่งใส


17

17

HBase ใช้ Zookeeper ในการประสานงานกิจกรรมที่ "โหนดหัว" รับผิดชอบก่อนเวอร์ชันปัจจุบัน การย้ายไปใช้ Zookeeper หมายความว่าการควบคุมส่วนกลางไม่ใช่จุดเดียวของความล้มเหลวอีกต่อไป

Zookeeper มีความหลากหลายมาก นี่คือตัวอย่างของการใช้เพื่อสร้างคิวพร้อมกันแบบกระจาย:

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

คุณยังสามารถใช้เพื่อสร้างการล็อกทรัพยากร ฯลฯ ในระบบแบบกระจาย


14

คำถามเก่า แต่เนื่องจากหน้านี้ปรากฏขึ้นเป็นอันดับแรกในการค้นหา Google สำหรับกรณีการใช้งาน Zookeeper ฉันจึงคิดว่าเป็นการดีที่สุดที่จะให้รายชื่อที่อัปเดต

  1. วิกิพีเดีย
  2. Zookeeper wiki
  3. ผู้ใช้จริง

ไม่มีลิงก์ 'ผู้ใช้จริง' แล้ว :(
ginna

10

Norbertเป็นตัวอย่างที่ดีจากระบบการผลิตที่ปรับขนาดได้ โดยทั่วไปแล้วจะรวม Netty, Protocol Buffers และ Zookeeper ไว้ในเฟรมเวิร์กที่มีน้ำหนักเบาสำหรับการเรียกใช้บริการคลัสเตอร์ Protocol Buffers ใช้เพื่อระบุ API บริการของคุณ Netty ใช้งาน abstractions ชั้นการขนส่งและ Zookeeper เป็นบริการค้นหาที่ยอมรับข้อผิดพลาด

ทุกครั้งที่เริ่มต้นอินสแตนซ์บริการ Norbert จะลงทะเบียนอินสแตนซ์ที่พร้อมใช้งานของประเภทบริการเฉพาะ จากมุมมองของการนำไปใช้งานจะสร้างต้นไม้ Zookeeper สองต้น:

  • "/ ServiceName / สมาชิก" ซึ่งแสดงรายการอินสแตนซ์ที่รู้จักทั้งหมดของบริการ
  • "/ ServiceName / available" ซึ่งแสดงอินสแตนซ์ของบริการที่มีอยู่ในปัจจุบัน

คุณสมบัติที่สำคัญที่สุดสำหรับแต่ละโหนดคือ url ที่จะใช้เชื่อมต่อกับอินสแตนซ์บริการที่เกี่ยวข้อง มันเปิดใช้งานการทำโหลดบาลานซ์ฝั่งไคลเอ็นต์ - ไคลเอนต์นอร์เบิร์ตพบรายการ URL สำหรับชื่อบริการที่กำหนดและพยายามเชื่อมต่อกับหนึ่งในนั้นเป็นคำสั่งบางอย่าง (เช่นแบบวนรอบหรือแบบสุ่ม)


6

มีบทความดีๆZooKeeper - ราชาแห่งการประสานงานเกี่ยวกับ ZooKeeper ที่ Elastic Cloud

ตัวอย่างเช่นที่ Found เราใช้ ZooKeeper อย่างกว้างขวางสำหรับการค้นพบการจัดสรรทรัพยากรการเลือกตั้งผู้นำและการแจ้งเตือนที่มีลำดับความสำคัญสูง ในบทความนี้เราจะแนะนำคุณให้รู้จักกับราชาแห่งการประสานงานและดูอย่างใกล้ชิดว่าเราใช้ ZooKeeper ที่ Found อย่างไร



3
  • Stormถูกใช้โดย บริษัทหลายแห่ง (Twitter และ Groupon เป็นสอง บริษัท ที่รู้จักกันดี) และอาศัย Zookeeper
  • Linkedin ใช้Kafkaและอาศัย Zookeeper

พายุใช้ Zookeeper เพื่อจัดเก็บสถานะทั้งหมดเพื่อให้สามารถกู้คืนจากการหยุดทำงานในบริการส่วนประกอบใด ๆ (แบบกระจาย)

สิ่งนี้ทำให้บริการคอมโพเนนต์ไม่มีสถานะและเพียงแค่ดาวน์โหลดหรือซิงค์กับเซิร์ฟเวอร์ Zookeeper เมื่อต้องการข้อมูลการกำหนดค่า หากคุณเคยต้องกู้คืนเซิร์ฟเวอร์ที่ใช้งานจริงคุณจะรู้ว่ามันน่าปวดหัวขนาดไหน!

ผู้บริโภคคิวคาฟคาสามารถใช้ Zookeeper เพื่อจัดเก็บข้อมูล (เครื่องหมายน้ำสูง) เกี่ยวกับสิ่งที่บริโภคจากคิว


2

ในกรณีของฉันเรากำลังจัดเก็บไฟล์คอนฟิกูเรชันใน zookeeper ensemble สำหรับการใช้งานคลัสเตอร์ เรากำลังใช้สคีมาลีดเดอร์ -> ผู้ติดตาม ดังนั้นเมื่อคนดูแลสวนสัตว์คนหนึ่งลงมาเราจะเปลี่ยนไปใช้อีกคนหนึ่ง (โหมดจำลอง)


2

Zookeeper ถูกใช้สำหรับหลาย ๆ อย่างนอกเหนือจากการกำหนดค่า นี่คือรายการอย่างเป็นทางการของการใช้งานดั้งเดิมแบบกระจายโดยใช้ Zookeeper

https://zookeeper.apache.org/doc/current/recipes.html


ลิงค์นั้นใช้ไม่ได้
Viren


1

datomicใช้ apache zookeeper เพื่อจัดการการจัดเก็บข้อมูลตาม riak

เนื่องจาก Riak รองรับเฉพาะความสอดคล้องในที่สุดในขณะนี้ระบบ Datomic ที่ทำงานบน Riak ยังใช้ Apache ZooKeeper ซึ่งเป็นบริการประสานงานที่พร้อมใช้งานสูง Datomic ใช้ ZooKeeper สำหรับการประสานงานล้มเหลวของทรานแซคเตอร์และสำหรับคีย์จำนวนหนึ่งต่อฐานข้อมูลที่ต้องอัปเดตด้วย CAS ที่มา: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html


0

นี่คือรายละเอียดบางส่วนเกี่ยวกับวิธีที่ HBase ใช้ ZooKeeperรวมถึงข้อมูลเกี่ยวกับวิธีที่พวกเขาตั้งใจจะใช้ในอนาคต โดยทั่วไปจะใช้เพื่อกำจัด SPOF บนเซิร์ฟเวอร์ภูมิภาคผ่านการเลือกตั้งผู้นำที่ดำเนินการโดยใช้ ZooKeeper

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.