SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Zookeeper
                          What it actually is.
                             Tobias Schlottke
                             November 2011




Freitag, 2. Dezember 11
Zookeeper
                          What it actually is.
                             Tobias Schlottke
                             November 2011




Freitag, 2. Dezember 11
What it is
                                 „ZooKeeper is a centralized service for maintaining
                              configuration information, naming, providing distributed
                                   synchronization, and providing group services.
                          All of these kinds of services are used in some form or another
                           by distributed applications. Each time they are implemented
                           there is a lot of work that goes into fixing the bugs and race
                                            conditions that are inevitable.
                              Because of the difficulty of implementing these kinds of
                            services, applications initially usually skimp on them, which
                            make them brittle in the presence of change and difficult to
                          manage. Even when done correctly, different implementations
                            of these services lead to management complexity when the
                                             applications are deployed.“




Freitag, 2. Dezember 11
WTF?



Freitag, 2. Dezember 11
In simple words

                          „A service which helps to
                           coordinate distributed
                                  systems.“


Freitag, 2. Dezember 11
Invented by




Freitag, 2. Dezember 11
Invented by




Freitag, 2. Dezember 11
More details please!
                     • Naming nodes
                     • Configuring nodes
                     • Synchronizing nodes
                     • Organize groups of nodes
                     • Heartbeat
                     • Democracy / Leader election
Freitag, 2. Dezember 11
But how to organize
                               this stuff?


Freitag, 2. Dezember 11
Filesystem Schema
                                     application1
                                                                      applicationn




                                 application1/service1
                                                                  application1/servicen




                            application1/service1/node0001   application1/service1/node0002


Freitag, 2. Dezember 11
„Filesystem“ Features

                     • Organized in a node tree app1/service1
                     • „Ephemeral“ nodes
                     • „Sequential“ nodes       0123

                     • Notification system
                     • High availability
                     • Exchange format does not matter
Freitag, 2. Dezember 11
Other things you get
                                for free
                     • „Atomicity“
                     • „Consistency“
                     • „Reliability“
                     • „Timeliness“
                     • „Conditional updates“ (Versioning)

Freitag, 2. Dezember 11
The Zookeeper Service

                           ZK Server 1       ZK Server 2        ZK Server N
                          Elected Master        Slave              Slave




                                     Application 1   Application N




Freitag, 2. Dezember 11
The Zookeeper Service

                     • All Servers store a copy of data in Mem
                     • Master election at startup
                     • All updates go to the leader
                     • Responses are sent when a majority
                          persited



Freitag, 2. Dezember 11
Snares

                     • Data must fit in memory
                     • Data size for each node should be <1MB
                     • Client libraries not all that good so far
                     • Ephemeral nodes are not allowed to have
                          children



Freitag, 2. Dezember 11
Usecase


                          „I am an adserver. I deliver 20.000 ads a
                          second and for this, you will most likely
                             design me as a distributed service“




Freitag, 2. Dezember 11
Adserver Usecase
                                         Database




                                                    Thrift
                                                                ZK

                               Coordinator




                             Delivery1    Delivery2     Delivery3    Delivery4




Freitag, 2. Dezember 11
Thats it!
                          Pretty simple, huh?


Freitag, 2. Dezember 11

Más contenido relacionado

Destacado

Destacado (17)

ZooKeeper Partitioning - A project report
ZooKeeper Partitioning - A project reportZooKeeper Partitioning - A project report
ZooKeeper Partitioning - A project report
 
Jcconf 2016 zookeeper
Jcconf 2016 zookeeperJcconf 2016 zookeeper
Jcconf 2016 zookeeper
 
Zookeeper In Action
Zookeeper In ActionZookeeper In Action
Zookeeper In Action
 
Zookeeper
ZookeeperZookeeper
Zookeeper
 
Zoo keeper in the wild
Zoo keeper in the wildZoo keeper in the wild
Zoo keeper in the wild
 
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
 
使用ZooKeeper打造軟體式負載平衡
使用ZooKeeper打造軟體式負載平衡使用ZooKeeper打造軟體式負載平衡
使用ZooKeeper打造軟體式負載平衡
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
Introduction to apache zoo keeper
Introduction to apache zoo keeper Introduction to apache zoo keeper
Introduction to apache zoo keeper
 
The Distributed & Decentralized Cloud
The Distributed & Decentralized CloudThe Distributed & Decentralized Cloud
The Distributed & Decentralized Cloud
 
Zookeeper In Simple Words
Zookeeper In Simple WordsZookeeper In Simple Words
Zookeeper In Simple Words
 
Introduction to ZooKeeper - TriHUG May 22, 2012
Introduction to ZooKeeper - TriHUG May 22, 2012Introduction to ZooKeeper - TriHUG May 22, 2012
Introduction to ZooKeeper - TriHUG May 22, 2012
 
Distributed systems in practice, in theory
Distributed systems in practice, in theoryDistributed systems in practice, in theory
Distributed systems in practice, in theory
 
Distributed process and scheduling
Distributed process and scheduling Distributed process and scheduling
Distributed process and scheduling
 
So we're running Apache ZooKeeper. Now What? By Camille Fournier
So we're running Apache ZooKeeper. Now What? By Camille Fournier So we're running Apache ZooKeeper. Now What? By Camille Fournier
So we're running Apache ZooKeeper. Now What? By Camille Fournier
 
Distributed Applications with Apache Zookeeper
Distributed Applications with Apache ZookeeperDistributed Applications with Apache Zookeeper
Distributed Applications with Apache Zookeeper
 
Building Distributed Systems in Scala
Building Distributed Systems in ScalaBuilding Distributed Systems in Scala
Building Distributed Systems in Scala
 

Similar a Zookeeper at the bigdata roundtable

Core Audio in iOS 6 (CocoaConf Raleigh, Dec. '12)
Core Audio in iOS 6 (CocoaConf Raleigh, Dec. '12)Core Audio in iOS 6 (CocoaConf Raleigh, Dec. '12)
Core Audio in iOS 6 (CocoaConf Raleigh, Dec. '12)
Chris Adamson
 
Play concurrency
Play concurrencyPlay concurrency
Play concurrency
Justin Long
 

Similar a Zookeeper at the bigdata roundtable (14)

MVC In Depth, part 1
MVC In Depth, part 1MVC In Depth, part 1
MVC In Depth, part 1
 
Infinispan for Dummies
Infinispan for DummiesInfinispan for Dummies
Infinispan for Dummies
 
soft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Cachingsoft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Caching
 
Deploying large payloads at scale
Deploying large payloads at scaleDeploying large payloads at scale
Deploying large payloads at scale
 
Silverchair Strategies
Silverchair StrategiesSilverchair Strategies
Silverchair Strategies
 
soft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Gridssoft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Grids
 
Performance Optimization for Ext GWT 3.0
Performance Optimization for Ext GWT 3.0Performance Optimization for Ext GWT 3.0
Performance Optimization for Ext GWT 3.0
 
Layer 7 denial of services attack mitigation
Layer 7 denial of services attack mitigationLayer 7 denial of services attack mitigation
Layer 7 denial of services attack mitigation
 
Practice Fusion: Free EMR
Practice Fusion: Free EMRPractice Fusion: Free EMR
Practice Fusion: Free EMR
 
HTML5 and Sencha Touch
HTML5 and Sencha TouchHTML5 and Sencha Touch
HTML5 and Sencha Touch
 
Core Audio in iOS 6 (CocoaConf Raleigh, Dec. '12)
Core Audio in iOS 6 (CocoaConf Raleigh, Dec. '12)Core Audio in iOS 6 (CocoaConf Raleigh, Dec. '12)
Core Audio in iOS 6 (CocoaConf Raleigh, Dec. '12)
 
Data Grids vs Databases
Data Grids vs DatabasesData Grids vs Databases
Data Grids vs Databases
 
Data Grids and Data Caching
Data Grids and Data CachingData Grids and Data Caching
Data Grids and Data Caching
 
Play concurrency
Play concurrencyPlay concurrency
Play concurrency
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Zookeeper at the bigdata roundtable

  • 1. Zookeeper What it actually is. Tobias Schlottke November 2011 Freitag, 2. Dezember 11
  • 2. Zookeeper What it actually is. Tobias Schlottke November 2011 Freitag, 2. Dezember 11
  • 3. What it is „ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them, which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.“ Freitag, 2. Dezember 11
  • 5. In simple words „A service which helps to coordinate distributed systems.“ Freitag, 2. Dezember 11
  • 8. More details please! • Naming nodes • Configuring nodes • Synchronizing nodes • Organize groups of nodes • Heartbeat • Democracy / Leader election Freitag, 2. Dezember 11
  • 9. But how to organize this stuff? Freitag, 2. Dezember 11
  • 10. Filesystem Schema application1 applicationn application1/service1 application1/servicen application1/service1/node0001 application1/service1/node0002 Freitag, 2. Dezember 11
  • 11. „Filesystem“ Features • Organized in a node tree app1/service1 • „Ephemeral“ nodes • „Sequential“ nodes 0123 • Notification system • High availability • Exchange format does not matter Freitag, 2. Dezember 11
  • 12. Other things you get for free • „Atomicity“ • „Consistency“ • „Reliability“ • „Timeliness“ • „Conditional updates“ (Versioning) Freitag, 2. Dezember 11
  • 13. The Zookeeper Service ZK Server 1 ZK Server 2 ZK Server N Elected Master Slave Slave Application 1 Application N Freitag, 2. Dezember 11
  • 14. The Zookeeper Service • All Servers store a copy of data in Mem • Master election at startup • All updates go to the leader • Responses are sent when a majority persited Freitag, 2. Dezember 11
  • 15. Snares • Data must fit in memory • Data size for each node should be <1MB • Client libraries not all that good so far • Ephemeral nodes are not allowed to have children Freitag, 2. Dezember 11
  • 16. Usecase „I am an adserver. I deliver 20.000 ads a second and for this, you will most likely design me as a distributed service“ Freitag, 2. Dezember 11
  • 17. Adserver Usecase Database Thrift ZK Coordinator Delivery1 Delivery2 Delivery3 Delivery4 Freitag, 2. Dezember 11
  • 18. Thats it! Pretty simple, huh? Freitag, 2. Dezember 11