Apache ZooKeeper
Øyvind M. Asbjørnsen
21.11.13
Agenda
•
•
•
•
•

Kva er ZooKeeper
Kva kan ein bruke det til
Korleis fungerar det
Erfaring frå prosjekt
Oppsummering
Kva er ZooKeeper?
Server

Server

Server
Kva kan ein bruke det til?
Leader election
Tenesteregister

Distribuert låsing

Kø

Konfigurasjonsrepository
To-fase commi...
Datastruktur og mekanismer
Hierarkisk struktur av noder.
/min-app/noder/node-00001
min-app
statuser
noder
node-00001
node-...
Datastruktur og mekanismer
Hierarkisk struktur av noder.
/min-app/noder/node-00001
min-app
statuser
noder
node-00001
node-...
Datastruktur og mekanismer
Hierarkisk struktur av noder.
/min-app/noder/node-00001
min-app
statuser
noder
node-00001

Watc...
Quora

Over halvparten av nodene må være tilstede
Ensamble
Ensamble

Ensamble a.k.a. Cluster
Oppstart av ZK-ensamble
Oppstart av ZK-ensamblet

Velge master
Tilkobling av klientar

TCP
tilkobling

Klient 1

Klient 2

Klient 3
Les-operasjonar

Klient 1

Klient 2

Klient 3
Skriv-operasjonar

Skriv

Klient 1

Klient 2

Klient 3
Skriv-operasjonar

Skriv

Klient 1

Via master

Klient 2

Klient 3
Skriv-operasjonar
Distribuer

Skriv

Klient 1

Via master

Klient 2

Klient 3
Erfaring frå prosjekt
• Behov:
– Hente data frå ekstern kilde sekvensielt
– Prosessere det som kjem inn so raskt som mogle...
Erfaring frå prosjekt
• Behov:
– Hente data frå ekstern kilde sekvensielt
– Prosessere det som kjem inn so raskt som mogle...
Erfaring frå prosjekt
Leader election

/leaderelection/
<ephemeral-sequential-node>
Erfaring frå prosjekt
Leader election

<feed />

Jobbtabell
Erfaring frå prosjekt
Leader election | Meldingsutveksling
”Status: nyeData”

<feed />

Jobbtabell
Competing
consumers
Erfaring frå prosjekt
Leader election | Meldingsutveksling |Node management

<feed />
”pause”
”start”
”avslutt”
Oppsummering
•
•
•
•
•

Tenk på datamodellen som eit filsystem
Klientane får beskjed når znoden endrar seg
Garanterar rekk...
Upcoming SlideShare
Loading in …5
×

07 øyvind asbjørnsen - zoo keeper

235 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
235
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

07 øyvind asbjørnsen - zoo keeper

  1. 1. Apache ZooKeeper Øyvind M. Asbjørnsen 21.11.13
  2. 2. Agenda • • • • • Kva er ZooKeeper Kva kan ein bruke det til Korleis fungerar det Erfaring frå prosjekt Oppsummering
  3. 3. Kva er ZooKeeper? Server Server Server
  4. 4. Kva kan ein bruke det til? Leader election Tenesteregister Distribuert låsing Kø Konfigurasjonsrepository To-fase commit
  5. 5. Datastruktur og mekanismer Hierarkisk struktur av noder. /min-app/noder/node-00001 min-app statuser noder node-00001 node-00002
  6. 6. Datastruktur og mekanismer Hierarkisk struktur av noder. /min-app/noder/node-00001 min-app statuser noder node-00001 node-00002 Nodetyper: Ephemeral node Persisten node Tilleggsegenskap: Sequential node
  7. 7. Datastruktur og mekanismer Hierarkisk struktur av noder. /min-app/noder/node-00001 min-app statuser noder node-00001 Watch node-00002 Nodetyper: Ephemeral node Persisten node Tilleggsegenskap: Sequential node
  8. 8. Quora Over halvparten av nodene må være tilstede
  9. 9. Ensamble Ensamble Ensamble a.k.a. Cluster
  10. 10. Oppstart av ZK-ensamble
  11. 11. Oppstart av ZK-ensamblet Velge master
  12. 12. Tilkobling av klientar TCP tilkobling Klient 1 Klient 2 Klient 3
  13. 13. Les-operasjonar Klient 1 Klient 2 Klient 3
  14. 14. Skriv-operasjonar Skriv Klient 1 Klient 2 Klient 3
  15. 15. Skriv-operasjonar Skriv Klient 1 Via master Klient 2 Klient 3
  16. 16. Skriv-operasjonar Distribuer Skriv Klient 1 Via master Klient 2 Klient 3
  17. 17. Erfaring frå prosjekt • Behov: – Hente data frå ekstern kilde sekvensielt – Prosessere det som kjem inn so raskt som mogleg – Må ha failover
  18. 18. Erfaring frå prosjekt • Behov: – Hente data frå ekstern kilde sekvensielt – Prosessere det som kjem inn so raskt som mogleg – Må ha failover • Implementasjon – Failover: Ein instans kan både hente og prosessere data – Ytelse: Mange deploya applikasjonar kan prosessere data samtidig. Competing consumers. – Problem: To deploya applikasjonar kan ikkje hente data samtidig
  19. 19. Erfaring frå prosjekt Leader election /leaderelection/ <ephemeral-sequential-node>
  20. 20. Erfaring frå prosjekt Leader election <feed /> Jobbtabell
  21. 21. Erfaring frå prosjekt Leader election | Meldingsutveksling ”Status: nyeData” <feed /> Jobbtabell Competing consumers
  22. 22. Erfaring frå prosjekt Leader election | Meldingsutveksling |Node management <feed /> ”pause” ”start” ”avslutt”
  23. 23. Oppsummering • • • • • Tenk på datamodellen som eit filsystem Klientane får beskjed når znoden endrar seg Garanterar rekkefølge på skriv Replikert og distribuert Bruk Netflix Curator

×