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 ΡΠ²Π»ΡΡΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΌΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π»ΠΈΠ±ΠΎ Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π»ΠΈΠ±ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.