ZNode

ZNode β€” это базовая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ Apache ZooKeeper.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ характСристики ZNode:

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ структура:

ZNode ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ иСрархичСской структуры, ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ZNode ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ZNode.

Π”Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ZNode ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вСрсии Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ создания ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ACL (список контроля доступа).

Π’ΠΈΠΏΡ‹ ZNode:

  • Persistent ZNode: Π‘ΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ create, ΠΈ ΠΎΠ½ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² систСмС Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ явно.
  • Ephemeral ZNode: Π‘ΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ create -e, ΠΈ ΠΎΠ½ΠΈ автоматичСски ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚, создавший ΠΈΡ…, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΡ‚ ZooKeeper.
  • Sequential ZNode: Π‘ΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ create -s, ΠΈ ΠΈΠΌ автоматичСски присваиваСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ порядковый Π½ΠΎΠΌΠ΅Ρ€.

НаблюдСниС (Watch):

ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ наблюдСниС (watch) Π½Π° ZNode. Если происходит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ структуры ZNode, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΠ΅ наблюдСниС, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅.

Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ZNode ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π»ΠΈΠ±ΠΎ вся опСрация выполняСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π»ΠΈΠ±ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит.