Π
Π’ΡΠΊ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΡΠ° Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π΅ Π΄ΡΠ»ΡΡ. ΠΡΡΠΊΠ° ΡΠ΅ΠΌΠ° ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈ. ΠΡΠ΅ΠΊΠΈ ΡΠ°Π·Π΄Π΅Π» ΠΈΠΌΠ° Π»ΠΈΠ΄Π΅Ρ ΡΡΡ ΠΈΠ»ΠΈ Π±Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ΅ΠΌΠ°, Π²ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΠ΅ Π±ΡΠΎΡ Π½Π° Π΄ΡΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΊΠΎΠ΅ΡΠΈΡΠΈΠ΅Π½ΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ. ΠΠ±ΠΈΡΠ°ΠΉΠ½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΅ 3, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ: Π΅Π΄ΠΈΠ½ Π»ΠΈΠ΄Π΅Ρ ΠΈ Π΄Π²Π°ΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ.
ΠΡΠΈΠ·. 1. Π§Π΅ΡΠΈΡΠΈ ΡΠ΅ΠΊΡΠΈΠΈ ΡΠ° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠ° Π±ΡΠΎΠΊΠ΅ΡΠΈ
ΠΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ ΠΏΠΈΡΠ°Π½Π΅ ΠΎΡΠΈΠ²Π°Ρ ΠΏΡΠΈ Π»ΠΈΠ΄Π΅ΡΠ°. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈ Π΄ΠΎ Π»ΠΈΠ΄Π΅ΡΠ°, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Ρ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΠ΅ ΠΎΠ±ΡΡΡΠ°Ρ ΠΊΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ; ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ Π·Π° ΠΈΠ·Π»ΠΈΡΡΠΊ ΠΈ ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ.
ΠΠΎΠ²ΡΠ΅Π΄Π° Π½Π° Π΄ΡΠ»Π°
ΠΠΎΠ³Π°ΡΠΎ Π΅Π΄ΠΈΠ½ Π±ΡΠΎΠΊΠ΅Ρ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ, Π»ΠΈΠ΄Π΅ΡΠΈΡΠ΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΊΡΠΈΠΈ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΡΡ. ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΠΎΡ Π΄ΡΡΠ³ Π²ΡΠ·Π΅Π» ΡΡΠ°Π²Π° Π»ΠΈΠ΄Π΅Ρ. ΠΡΡΡΠ½ΠΎΡΡ ΡΠΎΠ²Π° Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΡΠ°ΠΊΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°ΠΊΡΠΎΡΡΡ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠΎ Π²Π»ΠΈΡΠ΅: Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈ Π°ΠΊΠΎ Π½Π΅, ΡΠΎΠ³Π°Π²Π° Π΄Π°Π»ΠΈ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ Π½Π΅ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°. ΠΠΎ Π΄Π° Π½Π΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°ΠΌΠ΅ Π½Π΅ΡΠ°ΡΠ° Π·Π°ΡΠ΅Π³Π°.
ΠΡΠΎΠΊΠ΅Ρ 3 Π½Π°ΠΏΡΡΠΊΠ° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ ΡΠ΅ ΠΈΠ·Π±ΠΈΡΠ° Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ Π·Π° ΡΠ΅ΠΊΡΠΈΡ 2 ΠΏΡΠΈ Π±ΡΠΎΠΊΠ΅Ρ 2.
ΠΡΠΈΠ·. 2. ΠΡΠΎΠΊΠ΅Ρ 3 ΡΠΌΠΈΡΠ° ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 2 Π΅ ΠΈΠ·Π±ΡΠ°Π½ Π·Π° Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ Π½Π° Π΄ΡΠ» 2
Π’ΠΎΠ³Π°Π²Π° Π±ΡΠΎΠΊΠ΅Ρ 1 Π½Π°ΠΏΡΡΠΊΠ° ΠΈ ΡΠ΅ΠΊΡΠΈΡ 1 ΡΡΡΠΎ Π³ΡΠ±ΠΈ Π»ΠΈΠ΄Π΅ΡΠ° ΡΠΈ, ΡΠΈΡΡΠΎ ΡΠΎΠ»Ρ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΠΊΡΠΌ Π±ΡΠΎΠΊΠ΅Ρ 2.
ΠΡΠΈΠ·. 3. ΠΡΡΠ°Π½Π° Π΅Π΄ΠΈΠ½ Π±ΡΠΎΠΊΠ΅Ρ. ΠΡΠΈΡΠΊΠΈ Π»ΠΈΠ΄Π΅ΡΠΈ ΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ Π±ΡΠΎΠΊΠ΅Ρ Ρ Π½ΡΠ»Π΅Π²ΠΎ ΠΈΠ·Π»ΠΈΡΡΠΊ
ΠΠΎΠ³Π°ΡΠΎ Π±ΡΠΎΠΊΠ΅Ρ 1 ΡΠ΅ Π²ΡΡΠ½Π΅ ΠΎΠ½Π»Π°ΠΉΠ½, ΡΠΎΠΉ Π΄ΠΎΠ±Π°Π²Ρ ΡΠ΅ΡΠΈΡΠΈΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΠΉΠΊΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΈΠ·Π»ΠΈΡΡΠΊ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΡΠ». ΠΠΎ Π²ΡΠΈΡΠΊΠΈ Π»ΠΈΠ΄Π΅ΡΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΎΡΡΠ°Π²Π°Ρ Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 2.
ΠΡΠΈΠ·. 4. ΠΠΈΠ΄Π΅ΡΠΈΡΠ΅ ΠΎΡΡΠ°Π²Π°Ρ Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 2
ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π±ΡΠΎΠΊΠ΅Ρ 3, ΡΠ΅ Π²ΡΡΡΠ°ΠΌΠ΅ ΠΊΡΠΌ ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Π΄ΡΠ». ΠΠΎ Π²ΡΠΈΡΠΊΠΈ Π»ΠΈΠ΄Π΅ΡΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ° Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 2.
ΠΡΠΈΠ·. 5. ΠΠ΅Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½ΠΎ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π»ΠΈΠ΄Π΅ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΡΠΎΠΊΠ΅ΡΠΈ 1 ΠΈ 3
Kafka ΠΈΠΌΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ ΡΠ΅Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΈΠ΄Π΅ΡΠΈ ΠΎΡ RabbitMQ. Π’Π°ΠΌ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠ»ΡΠ³ΠΈΠ½ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π°, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ Π½Π° Π³Π»Π°Π²Π½ΠΈΡ Π²ΡΠ·Π΅Π» ΡΡΠ΅Π· Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π»ΠΈΡΡΠΊΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ΡΠΎ. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ°ΡΠΊΠ° ΠΈΠΌΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° βΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈβ Π·Π° Π²ΠΎΠ΄Π΅ΡΠ°ΡΠ° ΡΠΎΠ»Ρ. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π΄ΡΠ»ΠΎΠ²Π΅ Π½Π° ΡΠ΅ΠΌΠΈ, Kafka ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π»ΠΈΠ΄Π΅ΡΠΈΡΠ΅ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈΡΠ΅ ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠ° ΡΠ΅Π·ΠΈ ΠΏΡΡΠ²ΠΈ Π»ΠΈΠ΄Π΅ΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈ. Π‘ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°, Π»ΠΈΠ΄Π΅ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ°Ρ Π½Π° Π΄ΡΡΠ³ΠΈ Π²ΡΠ·Π»ΠΈ, ΠΊΠ°ΠΊΡΠΎ Π² ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΎΠΏΠΈΡΠ°Π½ ΠΏΠΎ-Π³ΠΎΡΠ΅.
ΠΠ° Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ° ΡΠΎΠ²Π°, Kafka ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π²Π΅ ΠΎΠΏΡΠΈΠΈ:
- ΠΠ°ΡΠΈΠ°Π½Ρ auto.leader.rebalance.enable=true ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π²ΡΠ·Π΅Π»Π° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° ΠΏΡΠ΅Π½Π°Π·Π½Π°ΡΠ°Π²Π° Π»ΠΈΠ΄Π΅ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
- ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΡΠΊΡΠΈΠΏΡΠ° kafka-preferred-replica-election.sh Π·Π° ΡΡΡΠ½ΠΎ ΠΏΡΠ΅Π½Π°Π·Π½Π°ΡΠ°Π²Π°Π½Π΅.
ΠΡΠΈΠ·. 6. Π Π΅ΠΏΠ»ΠΈΠΊΠΈ ΡΠ»Π΅Π΄ ΡΠ΅Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅
Π’ΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΎΠΏΡΠΎΡΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΠ²Π°Π»Π°, Π½ΠΎ ΡΠ΅Π°Π»Π½ΠΎΡΡΡΠ° Π΅ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π°, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΡΠΊ Π½ΡΠΌΠ° Π½ΠΈΡΠΎ ΠΏΡΠ΅ΠΊΠ°Π»Π΅Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΡΠΈΡΠΊΠΎ ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π° Π΄ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ (In-Sync Replicas, ISR).
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ (ISR)
ISR Π΅ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Π΄ΡΠ», ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° βΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½β (Π² ΡΠΈΠ½Ρ ΡΠΎΠ½). ΠΠΌΠ° Π»ΠΈΠ΄Π΅Ρ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½ΡΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½, Π°ΠΊΠΎ Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠ» ΡΠΎΡΠ½ΠΈ ΠΊΠΎΠΏΠΈΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° Π»ΠΈΠ΄Π΅ΡΠ° ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° replica.lag.time.max.ms.
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° ΠΎΡ Π½Π°Π±ΠΎΡΠ° ISR, Π°ΠΊΠΎ:
- Π½Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° replica.lag.time.max.ms (ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΡΠ΅ Π·Π° ΠΌΡΡΡΡΠ²)
- Π½Π΅ ΡΡΠΏΡ Π΄Π° ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° replica.lag.time.max.ms (ΡΡΠΈΡΠ° ΡΠ΅ Π·Π° Π±Π°Π²Π΅Π½)
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΡΠ°Π²ΡΡ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° replica.fetch.wait.max.ms, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 500ms.
ΠΠ° Π΄Π° ΠΎΠ±ΡΡΠ½ΠΈΠΌ ΡΡΠ½ΠΎ ΡΠ΅Π»ΡΠ° Π½Π° ISR, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΡΡΠ° ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΈ Π½ΡΠΊΠΎΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π·Π° Π½Π΅ΡΡΠΏΠ΅Ρ . ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°Ρ ΠΊΠΎΠ³Π° Π±ΡΠΎΠΊΠ΅ΡΡΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅:
- acks=0, ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°
- acks=1, ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π» ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ²ΠΎΡ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΆΡΡΠ½Π°Π»
- acks=all, ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π² ISR ΡΠ° Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
Π ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° Kafka, Π°ΠΊΠΎ ISR Π΅ Π·Π°ΠΏΠ°Π·ΠΈΠ» ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠΎ Π΅ βΠΎΡΠ΄Π°Π΄Π΅Π½ΠΎβ. Acks=all Π΅ Π½Π°ΠΉ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅. ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π·Π° Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π·Π° βacksβ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° ISR.
Acks=1 ΠΈ ISR
Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ Π°ΠΊΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ Π½Π΅ ΠΈΠ·ΡΠ°ΠΊΠ° Π²ΡΡΠΊΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΎ, ΡΠΎΠ³Π°Π²Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½Π° Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ. ΠΠ°Π²ΠΈΠ³ΠΈΡΠ°Π½Π΅ΡΠΎ Π΄ΠΎ Π½Π΅ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ ΡΡΠ΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π΅ΡΠΈΡΡ.Π»ΠΈΠ΄Π΅Ρ.ΠΈΠ·Π±ΠΎΡΠΈ.ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅.
Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ ΠΈΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ acks=1. Π Π°Π·Π΄Π΅Π»ΡΡ Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΡΠ΅ Π±ΡΠΎΠΊΠ΅ΡΠ°. ΠΡΠΎΠΊΠ΅Ρ 3 ΠΈΠ·ΠΎΡΡΠ°Π²Π°, ΡΠΎΠΉ ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ° Ρ Π»ΠΈΠ΄Π΅ΡΠ° ΠΏΡΠ΅Π΄ΠΈ ΠΎΡΠ΅ΠΌ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΈ ΡΠ΅Π³Π° ΠΈΠ·ΠΎΡΡΠ°Π²Π° Ρ 7456 ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΠΊΠ΅Ρ 1 ΠΈΠ·ΠΎΡΡΠ°Π½Π° ΡΠ°ΠΌΠΎ Ρ Π΅Π΄Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠ°ΡΠΈΡΡ ΠΏΡΠΎΠ΄ΡΡΠ΅Π½Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π±ΡΡΠ·ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΎΠ±ΡΠ°ΡΠ½Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅, Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° Π±Π°Π²Π½ΠΈ ΠΈΠ»ΠΈ ΠΌΡΡΡΠ²ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ Π½Π΅ ΡΠ°ΠΊΠ°.
ΠΡΠΈΠ·. 7. ISR Ρ ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ
ΠΡΠΎΠΊΠ΅Ρ 2 ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΊΡΠΌ Π±ΡΠΎΠΊΠ΅Ρ 1, Π½ΠΈΠ΅ Π³ΡΠ±ΠΈΠΌ 123 ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 1 Π±Π΅ΡΠ΅ ΡΠ°ΡΡ ΠΎΡ ISR, Π½ΠΎ Π½Π΅ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ Ρ Π»ΠΈΠ΄Π΅ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠ°Π΄Π½Π°.
ΠΡΠΈΠ·. 8. Π‘ΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ Π³ΡΠ±ΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΡΠΈΠ½Π΅
Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ bootstrap.ΡΡΡΠ²ΡΡΠΈ ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈ Π±ΡΠΎΠΊΠ΅ΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΏΠΈΡΠ° Π΄ΡΡΠ³ Π±ΡΠΎΠΊΠ΅Ρ ΠΊΠΎΠΉ Π΅ Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ Π½Π° ΡΠ°Π·Π΄Π΅Π»Π°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Π²ΡΡΠ·ΠΊΠ° Ρ Π±ΡΠΎΠΊΠ΅Ρ 1 ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠ·. 9. ΠΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ΅ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π° ΡΠ»Π΅Π΄ ΠΊΡΠ°ΡΠΊΠΎ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅
ΠΡΠΎΠΊΠ΅Ρ 3 Π΅ ΠΎΡΠ΅ ΠΏΠΎ-Π½Π°Π·Π°Π΄. ΠΡΠ°Π²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΄ΡΠ»ΠΆΠΈ Π½Π° Π±Π°Π²Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° Π²ΡΡΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠΎΠΊΠ΅ΡΠΈ, ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΡΡ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Ρ.Π½. ΠΡΠ΅ΠΌΠ°Ρ Π²Π° ΡΠ΅ ΠΎΡ ISR. Π‘Π΅Π³Π° ISR ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π΅Π΄Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° - Π»ΠΈΠ΄Π΅ΡΡΡ! ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΡ.
ΠΡΠΈΠ·. 10. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 3 Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Π½ ΠΎΡ ISR
ΠΡΠΎΠΊΠ΅Ρ 1 ΠΏΠ°Π΄Π° ΠΈ Π»ΠΈΠ΄Π΅ΡΡΠΊΠ°ΡΠ° ΡΠΎΠ»Ρ ΠΎΡΠΈΠ²Π° Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 3 ΡΡΡ Π·Π°Π³ΡΠ±Π° Π½Π° 15286 ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ! ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅. ΠΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊΡΠΌ Π»ΠΈΠ΄Π΅Ρ ΠΈΠ·Π²ΡΠ½ ISR Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° unclean.leader.election.enable=true. ΠΠΊΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π² ΡΠ°Π»ΡΠΈΠ², ΡΠΎΠ³Π°Π²Π° ΠΏΡΠ΅Ρ ΠΎΠ΄ΡΡ Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ ΠΈ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ΠΈ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π±ΡΠΎΠΊΠ΅Ρ 1 Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ Ρ Π½Π΅ΠΏΠΎΠΊΡΡΠ½Π°ΡΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ΅ ΠΏΠΎΠ΅ΠΌΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
ΠΡΠΈΠ·. 11. ΠΡΠΎΠΊΠ΅Ρ 1 ΠΏΠ°Π΄Π°. ΠΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ ΠΏΠΎΠ²ΡΠ΅Π΄Π°, Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ΅ Π³ΡΠ±ΡΡ
ΠΡΠΎΠ΄ΡΡΠ΅Π½ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Π²ΡΡΠ·ΠΊΠ° Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π±ΡΠΎΠΊΠ΅Ρ ΠΈ Π²ΠΈΠΆΠ΄Π°, ΡΠ΅ ΡΠΎΠΉ Π²Π΅ΡΠ΅ Π΅ Π»ΠΈΠ΄Π΅Ρ Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ°. Π’ΠΎΠΉ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎ Π±ΡΠΎΠΊΠ΅Ρ 3.
ΠΡΠΈΠ·. 12. Π‘Π»Π΅Π΄ ΠΊΡΠ°ΡΠΊΠ° ΠΏΠ°ΡΠ·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΊΡΠΌ ΡΠ΅ΠΊΡΠΈΡ 0
ΠΠΈΠ΄ΡΡ ΠΌΠ΅, ΡΠ΅ ΠΎΡΠ²Π΅Π½ ΠΊΡΠ°ΡΠΊΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΈ ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π’Π°Π·ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ Π·Π° ΡΠΌΠ΅ΡΠΊΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ (ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅). ΠΠ°ΡΠΊΠ° Π·Π°Π³ΡΠ±ΠΈ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π½ΠΎΠ²ΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ.
Acks=Π²ΡΠΈΡΠΊΠΈ ΠΈ ISR
ΠΠ΅ΠΊΠ° ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ ΡΠΎΠ·ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΡΠ½ΠΎΠ²ΠΎ, Π½ΠΎ Ρ acks=Π²ΡΠΈΡΠΊΠΈ. ΠΡΠΎΠΊΠ΅Ρ 3 ΠΈΠΌΠ° ΡΡΠ΅Π΄Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΎΡ ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ acks=Π²ΡΠΈΡΠΊΠΈ, Π° ΡΠ΅Π³Π° Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π±ΡΡΠ· ΠΎΡΠ³ΠΎΠ²ΠΎΡ. ΠΠΈΠ΄Π΅ΡΡΡ ΠΈΠ·ΡΠ°ΠΊΠ²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΎ ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π² ISR.
ΠΡΠΈΠ·. 13. ISR Ρ ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. ΠΠ΄ΠΈΠ½ΠΈΡΡ Π΅ Π±Π°Π²Π΅Π½, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠ°
Π‘Π»Π΅Π΄ ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅, Π±ΡΠΎΠΊΠ΅Ρ 2 ΠΈΠ·ΠΏΡΠ°ΡΠ° ack. ΠΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π²Π΅ΡΠ΅ ΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ.
ΠΡΠΈΠ·. 14. ΠΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ack
ΠΡΠΎΠΊΠ΅Ρ 3 ΡΠ΅Π³Π° ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΠΎΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΎΡ ISR. ΠΠ°Π±Π°Π²ΡΠ½Π΅ΡΠΎ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π² ISR Π½Π΅ ΡΠ° ΠΎΡΡΠ°Π½Π°Π»ΠΈ Π±Π°Π²Π½ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. ΠΡΠΎΠΊΠ΅Ρ 2 ΡΠ΅Π³Π° ΡΠ°ΠΊΠ° ΡΠ°ΠΌΠΎ Π±ΡΠΎΠΊΠ΅Ρ 1 ΠΈ ΡΠΎΠΉ ΠΈΠΌΠ° ΡΡΠ΅Π΄Π΅Π½ Π»Π°Π³ ΠΎΡ 500 ms.
ΠΡΠΈΠ·. 15. Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 3 ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° ΠΎΡ ISR
Π’ΠΎΠ³Π°Π²Π° Π±ΡΠΎΠΊΠ΅Ρ 2 ΠΏΠ°Π΄Π° ΠΈ Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΠΊΡΠΌ Π±ΡΠΎΠΊΠ΅Ρ 1 Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠ·. 16. ΠΡΠΎΠΊΠ΅Ρ 2 ΠΏΠ°Π΄Π°
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ Π½Π°ΠΌΠΈΡΠ° Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΌΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ°Π±Π°Π²ΡΠ½Π΅ΡΠΎ Π΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ ISR ΡΠ΅Π³Π° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π΅Π΄Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°! Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΎΠΏΡΠΈΡΡΠ° acks=Π²ΡΠΈΡΠΊΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Ρ ΠΈΠ·Π»ΠΈΡΡΠΊ.
ΠΡΠΈΠ·. 17. Π Π΅ΠΏΠ»ΠΈΠΊΠ° Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 1 ΠΏΠΎΠ΅ΠΌΠ° Π²ΠΎΠ΄Π΅ΡΠ° ΡΠΎΠ»Ρ, Π±Π΅Π· Π΄Π° Π³ΡΠ±ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π±ΡΠΎΠΊΠ΅Ρ 1 ΡΠ΅ ΡΡΠΈΠ²Π° ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈΠ½Π°ΡΠ° ΠΎΡΠΈΠ²Π° ΠΏΡΠΈ Π±ΡΠΎΠΊΠ΅Ρ 3 ΡΡΡ Π·Π°Π³ΡΠ±Π° Π½Π° 14238 ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ!
ΠΡΠΈΠ·. 18. ΠΡΠΎΠΊΠ΅Ρ 1 ΡΠΌΠΈΡΠ° ΠΈ ΠΏΡΠ΅Ρ
ΠΎΠ΄ΡΡ Π½Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Ρ Π½Π΅ΡΠΈΡΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³ΠΎΠ»ΡΠΌΠ° Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ
ΠΠ΅ ΠΌΠΎΠΆΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΠΎΠΏΡΠΈΡΡΠ° Π½Π΅ΡΠΈΡΡ.Π»ΠΈΠ΄Π΅Ρ.ΠΈΠ·Π±ΠΎΡΠΈ.ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π² ΡΠΌΠΈΡΡΠ» Π²ΡΡΠ½ΠΎ. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ ΡΠ°Π²Π½ΠΎ Π½Π° ΡΠ°Π»ΡΠΈΠ². ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ acks=Π²ΡΠΈΡΠΊΠΈ Ρ unclean.leader.election.enable=true ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½Π° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠΎ ΠΊΠ°ΠΊΡΠΎ Π²ΠΈΠΆΠ΄Π°ΡΠ΅, Π²ΡΠ΅ ΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΠΌ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠΎ ΠΊΠ°ΠΊΠ²ΠΎ, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΡΠΈΠΌ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅? ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ unclean.leader.election.enable = Π½Π΅Π²ΡΡΠ½ΠΎ, Π½ΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π½ΠΈ ΠΏΡΠ΅Π΄ΠΏΠ°Π·ΠΈ ΠΎΡ Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠΊΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΠΏΠ°Π΄Π½Π΅ ΡΠΈΠ»Π½ΠΎ ΠΈ Π²Π·Π΅ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΡΡ ΡΠ΅Π±Π΅ ΡΠΈ, ΡΠΎΠ³Π°Π²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ Π³ΡΠ±ΡΡ, ΠΏΠ»ΡΡ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° ΡΠ΅ Π³ΡΠ±ΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΡ Π½Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡΡΠ°.
ΠΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ° ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΠΈ Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΠΈΠ·Ρ Π²ΡΡΠ»Π΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°. Π’ΠΎΠ³Π°Π²Π°, ΠΏΠΎΠ½Π΅ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π±ΡΠΎΠΊΠ΅ΡΠ°, Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½Π° ΡΠ°ΠΌΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π΄Π²Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ.
Acks=Π²ΡΠΈΡΠΊΠΈ, min.insync.replicas ΠΈ ISR
Π‘ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΠΌΠ°ΡΠ° min.insync.ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΠΎΠ²ΠΈΡΠ°Π²Π°ΠΌΠ΅ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠ΅ΠΊΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π½ΠΎ ΡΠΎΠ·ΠΈ ΠΏΡΡ Ρ min.insync.replicas=2.
Π’Π°ΠΊΠ° ΡΠ΅ Π±ΡΠΎΠΊΠ΅Ρ 2 ΠΈΠΌΠ° Π²ΠΎΠ΄Π΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 3 ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° ΠΎΡ ISR.
ΠΡΠΈΠ·. 19. ISR ΠΎΡ Π΄Π²Π΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ
ΠΡΠΎΠΊΠ΅Ρ 2 ΠΏΠ°Π΄Π° ΠΈ Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΠΊΡΠΌ Π±ΡΠΎΠΊΠ΅Ρ 1 Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠ΅Π³Π° ISR ΡΠ΅ ΡΡΡΡΠΎΠΈ ΡΠ°ΠΌΠΎ ΠΎΡ Π΅Π΄Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°. Π’ΠΎΠ²Π° Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π±ΡΠΎΠΊΠ΅ΡΡΡ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΎΠΏΠΈΡΠ° Π·Π° Π·Π°ΠΏΠΈΡ Ρ Π³ΡΠ΅ΡΠΊΠ° NotEnoughReplicas.
ΠΡΠΈΠ·. 20. ΠΡΠΎΡΡ Π½Π° ISR Π΅ Ρ Π΅Π΄ΠΈΠ½ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΎΡ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ Π² min.insync.replicas
Π’Π°Π·ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΆΠ΅ΡΡΠ²Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ. ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΠΌ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½ΠΈΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΡΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΏΠΎΠ½Π΅ Π΄Π²Π΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. Π’ΠΎΠ²Π° Π΄Π°Π²Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½ΠΎΡΡ. Π’ΡΠΊ Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½Π° ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ Π΄Π²Π΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΡΡ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΊΡΠ°ΡΡΠΊ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», Π΄ΠΎΠΊΠ°ΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°Π½ΠΎ ΠΊΡΠΌ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π», ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΌΠ°Π»ΠΊΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ. ΠΠΎ Π°ΠΊΠΎ ΡΡΠ΅ ΡΡΠΏΠ΅Ρ ΠΏΠ°ΡΠ°Π½ΠΎΠΈΠΊ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠΎΠ΅ΡΠΈΡΠΈΠ΅Π½ΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° 5 ΠΈ min.insync.ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Ρ 3. Π’ΡΠΊ ΡΡΠΈΠΌΠ° Π±ΡΠΎΠΊΠ΅ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠ°Π΄Π½Π°Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π·Π° Π΄Π° Π·Π°Π³ΡΠ±ΡΡ ΡΠ΅ΠΊΠΎΡΠ΄Π°! Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π²ΠΈΠ΅ ΠΏΠ»Π°ΡΠ°ΡΠ΅ Π·Π° ΡΠ°Π·ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ Π² Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅.
ΠΠΎΠ³Π°ΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅
ΠΠ°ΠΊΡΠΎ Π²
- ΠΠΎΠΆΠ΅ Π»ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡ ΠΏΡΠΎΡΡΠΎ Π΄Π° Π²ΡΡΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ° ΠΈ Π΄Π° Π½Π°ΠΊΠ°ΡΠ° ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π°Π³ΠΎΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΄Π° ΠΎΠΏΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ?
- ΠΠΎΠΆΠ΅ Π»ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ»ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ?
ΠΠΊΠΎ ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π΅ Π½Π΅, ΡΠΎΠ³Π°Π²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. Π©Π΅ Π·Π°Π³ΡΠ±ΠΈΡΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° Π½Π΅ Π·Π°ΠΏΠΈΡΠ²Π°ΡΠ΅. Π’Π°ΠΊΠ° Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π° Π΄ΠΎ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π»Π°Π½Ρ, Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° ΡΠΈΡΡΠ°ΡΠΈΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ISR
ΠΠ°ΠΊΠ΅ΡΡΡ ISR Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΈΠ³ΡΡΠ΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΡΡΡΠ²ΠΈ ΠΈΠ»ΠΈ Π±Π°Π²Π½ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ°.
ΠΠΈΠ΅ ΡΠ°ΠΌΠΈ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ replica.lag.time.max.ms ΡΠΏΠΎΡΠ΅Π΄ Π²Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ. ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΊΠΎΠ»ΠΊΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ ΡΠΌΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ, ΠΊΠΎΠ³Π°ΡΠΎ acks=Π²ΡΠΈΡΠΊΠΈ. Π‘ΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π΄Π΅ΡΠ΅Ρ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠΊΠΎ ΡΠΎΠ²Π° Π΅ ΡΠ²ΡΡΠ΄Π΅ Π΄ΡΠ»Π³ΠΎ Π·Π° Π²Π°Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅. Π’ΠΎΠ³Π°Π²Π° ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ISR ΡΠ΅ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½ΠΈ ΠΏΠΎ-ΡΠ΅ΡΡΠΎ.
RabbitMQ Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΎΠ³Π»Π΅Π΄Π°Π»Π°, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠΏΠΈΡΠ°Π½ΠΈ. ΠΠ°Π²Π½ΠΈΡΠ΅ ΠΎΠ³Π»Π΅Π΄Π°Π»Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΈ ΠΌΡΡΡΠ²ΠΈΡΠ΅ ΠΎΠ³Π»Π΅Π΄Π°Π»Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΡΠ°ΠΊΠ°Ρ, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» (net tick), ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ. ISR Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΈΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅ΡΠΎ. ΠΠΎ ΡΠΈΡΠΊΡΠ²Π°ΠΌΠ΅ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΠΌ ΠΈΠ·Π»ΠΈΡΡΠΊ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ISR ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΠΈΠ΅ ΡΠ°ΠΌΠΎ Π΄ΠΎ Π»ΠΈΠ΄Π΅ΡΠ°. ΠΠ° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΡΠΎΠ·ΠΈ ΡΠΈΡΠΊ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° min.insync.ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ.
ΠΠ°ΡΠ°Π½ΡΠΈΡ Π·Π° Π²ΡΡΠ·ΠΊΠ° Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
Π Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ bootstrap.ΡΡΡΠ²ΡΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΡΠΎΡΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±ΡΠΎΠΊΠ΅ΡΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ. ΠΠ΄Π΅ΡΡΠ° Π΅, ΡΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ Π΅Π΄ΠΈΠ½ Π²ΡΠ·Π΅Π» ΠΏΠ°Π΄Π½Π΅, ΠΎΡΡΠ°Π²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ²ΠΎΡΠΈ Π²ΡΡΠ·ΠΊΠ°. Π’ΠΎΠ²Π° Π½Π΅ ΡΠ° Π½Π΅ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π»ΠΈΠ΄Π΅ΡΠΈ Π½Π° ΡΠ΅ΠΊΡΠΈΠΈ, Π° ΠΏΡΠΎΡΡΠΎ ΡΡΠ°ΠΌΠΏΠ»ΠΈΠ½ Π·Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅. ΠΠ»ΠΈΠ΅Π½ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠΏΠΈΡΠ° ΠΊΠΎΠΉ Π²ΡΠ·Π΅Π» Ρ ΠΎΡΡΠ²Π° Π»ΠΈΠ΄Π΅ΡΠ° Π½Π° Π΄ΡΠ»Π° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅/Π·Π°ΠΏΠΈΡ.
Π RabbitMQ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ Ρ Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» ΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π΄ΠΎ ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π±Π°Π»Π°Π½ΡΡΠΎΡ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΏΡΠ΅Π΄ RabbitMQ. Kafka ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ ΠΊΡΠΌ Π²ΡΠ·Π΅Π»Π°, ΠΊΠΎΠΉΡΠΎ Ρ ΠΎΡΡΠ²Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ Π»ΠΈΠ΄Π΅Ρ Π½Π° Π΄ΡΠ». Π ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π±Π°Π»Π°Π½ΡΡΠΎΡ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. ΡΠΏΠΈΡΡΠΊ bootstrap.ΡΡΡΠ²ΡΡΠΈ ΠΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ ΠΈ Π΄Π° Π½Π°ΠΌΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ ΡΠ»Π΅Π΄ ΠΏΠΎΠ²ΡΠ΅Π΄Π°.
ΠΠΎΠ½ΡΠ΅Π½ΡΡΡΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΠ°ΡΠΊΠ°
ΠΠΎΡΠ΅Π³Π° Π½Π΅ ΡΠΌΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡΡΠ΅ΡΡΡ Π½Π°ΡΡΠ°Π²Π° Π·Π° ΠΏΠ°Π΄Π°Π½Π΅ΡΠΎ Π½Π° Π±ΡΠΎΠΊΠ΅ΡΠ° ΠΈ ΠΊΠ°ΠΊ ΡΠ΅ ΠΈΠ·Π±ΠΈΡΠ° Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ. ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ Kafka ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π΄ΡΠ»ΠΎΠ²Π΅, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°.
ΠΡΠ΅ΠΊΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ Kafka ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π° Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΊΠ»ΡΡΡΠ΅Ρ Zookeeper, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ»ΡΠ³Π° Π·Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ Π·Π° Π΄Π°Π΄Π΅Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠ°ΡΠΎ Π΄Π°Π²Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠ΅Π΄ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ°. ΠΠ·ΠΈΡΠΊΠ²Π° ΡΠ΅ ΡΡΠ³Π»Π°ΡΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅ Π½Π° Zookeeper Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ.
Zookeeper ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°:
- Π‘ΠΏΠΈΡΡΠΊ Ρ ΡΠ΅ΠΌΠΈ, ΡΠ°Π·Π΄Π΅Π»ΠΈ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΡΠ΅ΠΊΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Π»ΠΈΠ΄Π΅ΡΠΈ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ.
- Π§Π»Π΅Π½ΠΎΠ²Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΡΠ΅ΠΊΠΈ Π±ΡΠΎΠΊΠ΅Ρ ΠΏΠΈΠ½Π³Π²Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Zookeeper. ΠΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈ ping Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅, ΡΠΎΠ³Π°Π²Π° Zookeeper Π·Π°ΠΏΠΈΡΠ²Π° Π±ΡΠΎΠΊΠ΅ΡΠ° ΠΊΠ°ΡΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½.
- ΠΠ·Π±ΠΎΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ Π²ΡΠ·Π»ΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ°.
ΠΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ·Π΅Π» Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π±ΡΠΎΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° Kafka, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π»ΠΈΠ΄Π΅ΡΠΈ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. Zookeeper ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΡΠ»Π΅Π½ΡΡΠ²ΠΎΡΠΎ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΠ΅ΠΌΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π΄Π΅ΠΉΡΡΠ²Π° ΡΠΏΡΡΠΌΠΎ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ Π½ΠΎΠ²Π° ΡΠ΅ΠΌΠ° Ρ Π΄Π΅ΡΠ΅Ρ Π΄ΡΠ»Π° ΠΈ ΠΊΠΎΠ΅ΡΠΈΡΠΈΠ΅Π½Ρ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ 3. ΠΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ Π»ΠΈΠ΄Π΅Ρ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΡΠ», ΠΎΠΏΠΈΡΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ Π΄Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ Π»ΠΈΠ΄Π΅ΡΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠΎΠΊΠ΅ΡΠΈΡΠ΅.
ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π½Π° ΡΠ΅ΠΊΡΠΈΡ:
- Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Zookeeper Π·Π° ISR ΠΈ Π»ΠΈΠ΄Π΅Ρ;
- ΠΠ·ΠΏΡΠ°ΡΠ° LeaderAndISRCommand Π΄ΠΎ Π²ΡΠ΅ΠΊΠΈ Π±ΡΠΎΠΊΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ Ρ ΠΎΡΡΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π½Π° ΡΠΎΠ·ΠΈ Π΄ΡΠ», ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° Π±ΡΠΎΠΊΠ΅ΡΠΈΡΠ΅ Π·Π° ISR ΠΈ Π»ΠΈΠ΄Π΅ΡΠ°.
ΠΠΎΠ³Π°ΡΠΎ Π±ΡΠΎΠΊΠ΅Ρ Ρ Π»ΠΈΠ΄Π΅Ρ ΠΏΠ°Π΄Π½Π΅, Zookeeper ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° ΠΈ ΡΠΎΠΉ ΠΈΠ·Π±ΠΈΡΠ° Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ. ΠΡΠ½ΠΎΠ²ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ ΠΏΡΡΠ²ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° Zookeeper ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎ Π²ΡΠ΅ΠΊΠΈ Π±ΡΠΎΠΊΠ΅Ρ, ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°ΠΉΠΊΠΈ Π³ΠΈ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
ΠΡΠ΅ΠΊΠΈ Π»ΠΈΠ΄Π΅Ρ Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° Π½Π°Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ISR. ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ replica.lag.time.max.ms ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠΎΠΉ ΡΠ΅ Π²Π»Π΅Π·Π΅ ΡΠ°ΠΌ. ΠΠΎΠ³Π°ΡΠΎ ISR ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π»ΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠ΅Π΄Π°Π²Π° Π½ΠΎΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Zookeeper.
Zookeeper Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ°Π½ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΏΠ»Π°Π²Π½ΠΎ ΠΊΡΠΌ Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ.
ΠΡΠΈΠ·. 21. ΠΠΎΠ½ΡΠ΅Π½ΡΡΡ Π½Π° ΠΠ°ΡΠΊΠ°
ΠΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ
Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π²ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π·Π° Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΠ°ΡΠ²ΠΊΠΈ Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±ΠΈ, ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π² ΠΊΡΠ°Ρ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° (LEO) ΠΈ Π·Π½Π°ΠΊ Π·Π° Π²ΠΈΡΠΎΠΊΠ° Π²ΠΎΠ΄Π° (HW)
Π‘ΠΌΡΡΠ°ΠΌΠ΅, ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π΄ΠΎ Π»ΠΈΠ΄Π΅ΡΠ°. ΠΠ½ΡΠ΅ΡΠ²Π°Π»ΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 500 ms. Π’ΠΎΠ²Π° ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ RabbitMQ ΠΏΠΎ ΡΠΎΠ²Π°, ΡΠ΅ Π² RabbitMQ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π΅ ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ° ΠΎΡ ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎΡΠΎ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ°, Π° ΠΎΡ Π³Π»Π°Π²Π½ΠΈΡ. ΠΠ°ΠΉΡΡΠΎΡΡΡ Π½Π°ΡΠΈΡΠΊΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΎΠ³Π»Π΅Π΄Π°Π»Π°ΡΠ°.
ΠΠΈΠ΄Π΅ΡΡΡ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Ρ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΡΠ°Ρ Π½Π° ΡΡΡΠΏΠ° (LEO) ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠ° Highwater (HW). ΠΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ°ΡΠ° LEO ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Π° HW Π΄ΡΡΠΆΠΈ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΈΡ. ΠΠ΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅, ΡΠ΅ Π·Π° ΡΡΠ°ΡΡΡ Π½Π° Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½Π΅, ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ISR ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ LEO ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π½Π°ΠΏΡΠ΅Π΄ ΠΎΡ HW.
ΠΠΎΠ³Π°ΡΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠΉ Π³ΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ ΠΏΡΠ°Π²ΠΈ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π° ΡΠ²ΠΎΡ LEO. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π»ΠΈΠ΄Π΅ΡΡΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΡΠΎΠ·ΠΈ LEO, ΠΈ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄Π°Π²Π° ΡΠ΅ΠΊΡΡΠΈΡ HW. ΠΠΎΠ³Π°ΡΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΡΠ° ΡΡΡ ΡΠ°Π½ΠΈΠ»ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠΈ Π΄Π°Π΄Π΅Π½ΠΎΡΠΎ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅, ΡΠΎΠΉ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π° Π·Π½Π°ΠΊΠ° HW. Π‘Π°ΠΌΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈ HW ΠΈ ΡΠ°ΠΊΠ° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ΅ Π·Π½Π°ΡΡ ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π½Π° ΡΡΡ Π½Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΎΡΡΠ°Π²Π°Ρ ΠΎΡ Π»ΠΈΠ΄Π΅ΡΠ° ΠΊΠ°ΠΊΡΠΎ Π² ΠΏΠΎΡΠ»Π°Π½ΠΈΠ΅ΡΠΎ, ΡΠ°ΠΊΠ° ΠΈ Π² Π·Π½Π°Π½ΠΈΡΡΠ° Π·Π° HW. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΠ΅ΠΊΡΡΠ°ΡΠ° HW.
ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ βΠ·Π°ΠΏΠ°Π·Π΅Π½β ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π·Π°ΠΏΠΈΡΠ°Π½ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π° Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠ°. ΠΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Kafka ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ° Ρ Π΄ΠΈΡΠΊ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». RabbitMQ ΡΡΡΠΎ ΠΈΠΌΠ° ΡΠ°ΠΊΡΠ² ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», Π½ΠΎ ΡΠΎΠΉ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π³Π»Π°Π²Π½ΠΈΡΡ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΠ³Π»Π΅Π΄Π°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ ΡΠ° Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Kafka, ΠΎΡ ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΡΠ΅ΡΠΈΡ Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΡΡ ack Π²Π΅Π΄Π½Π°Π³Π° ΡΠΎΠΌ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π±ΡΠ΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ°ΡΠΊΠ° Π·Π°Π»Π°Π³Π°, ΡΠ΅ ΠΈΠ·Π»ΠΈΡΡΠΊΡΡ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠ° ΡΠΈΡΠΊΠ° ΠΎΡ ΠΊΡΠ°ΡΠΊΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
ΠΡΠΎΠ²Π°Π» Π½Π° Π»ΠΈΠ΄Π΅ΡΠ°
ΠΠΎΠ³Π°ΡΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΠΏΠ°Π΄Π½Π΅, Zookeeper ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° ΠΈ ΡΠΎΠΉ ΠΈΠ·Π±ΠΈΡΠ° Π½ΠΎΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π½Π° Π»ΠΈΠ΄Π΅ΡΠ°. ΠΠΎΠ²ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π½ΠΎΠ²Π° HW ΠΌΠ°ΡΠΊΠ° ΡΠΏΠΎΡΠ΅Π΄ ΡΠ²ΠΎΡ LEO. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Kafka, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄Π²Π° ΡΡΠ΅Π½Π°ΡΠΈΡ:
- Π’ΠΎΠΉ ΡΠ΅ ΡΡΠΊΡΠ°ΡΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π΄ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Π° HW ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈ Π·Π°ΡΠ²ΠΊΠ° Π΄ΠΎ Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ ΡΠΎΠ·ΠΈ Π·Π½Π°ΠΊ.
- Π©Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈ Π·Π°ΡΠ²ΠΊΠ° Π΄ΠΎ Π»ΠΈΠ΄Π΅ΡΠ°, Π·Π° Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ HW ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ ΠΈΠ·Π±ΡΠ°Π½ Π·Π° Π»ΠΈΠ΄Π΅Ρ, ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΡΠΊΡΠ°ΡΠΈ Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° Π΄ΠΎ ΡΠΎΠ²Π° ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΠΏΡΠ°Π²ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΡΠΎΠ²Π° ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅.
ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π΄Π° ΡΡΠΊΡΠ°ΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ:
- ΠΠΎΠ³Π°ΡΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ, ΠΏΡΡΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π² Π½Π°Π±ΠΎΡΠ° ISR, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ Π² Zookeeper, ΠΏΠ΅ΡΠ΅Π»ΠΈ ΠΈΠ·Π±ΠΎΡΠΈΡΠ΅ ΠΈ ΡΡΠ°Π²Π° Π»ΠΈΠ΄Π΅Ρ. ΠΡΠΈΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π° ISR, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° βΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½β, ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π±ΠΈΠ²ΡΠΈΡ Π»ΠΈΠ΄Π΅Ρ. ΠΠ°ΠΏΡΠ»Π½ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π΄Π° Π½Π΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ Π½Π°ΠΉ-Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΠΎ ΠΊΠΎΠΏΠΈΠ΅. ΠΠ°ΡΠΊΠ° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π½ΡΠΌΠ° ΡΠ°Π·ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ΅. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ Π½Π΅ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ, Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠΊΡΠ°ΡΠΈ ΡΠ²ΠΎΡ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π΄ΠΎ HW ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ ΠΊΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΡ. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠ΅ Π΅Π΄Π½Π° ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° acks=Π²ΡΠΈΡΠΊΠΈ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
- Π‘ΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π½Π° Π΄ΠΈΡΠΊ. ΠΠΊΠΎ Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΡΠ΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΡΡ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠΎΠ³Π°Π²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅, ΠΊΠΎΠ³Π°ΡΠΎ Π±ΡΠΎΠΊΠ΅ΡΠΈΡΠ΅ ΡΠ΅ Π²ΡΡΠ½Π°Ρ ΠΎΠ½Π»Π°ΠΉΠ½, Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΈΠ·Π±ΡΠ°Π½, Π΄Π° Π΅ Π·Π°Π΄ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠΉ Π΅ Π±ΠΈΠ» Π·Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΄ΠΈΡΠΊ ΠΏΡΠ΅Π΄ΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅.
ΠΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠ°
ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΡΡΡΠΎΡΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ: ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° Π½Π° Π»ΠΈΠ΄Π΅ΡΠ° ΠΈ ΡΡΠΊΡΠ°ΡΠ°Π²Π°Ρ ΡΠ²ΠΎΡ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π΄ΠΎ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° HW (ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π±ΠΎΡΠ°). ΠΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, RabbitMQ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ ΡΡΠ΅ΡΠΈΡΠ° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠ»Π½ΠΎ Π½ΠΎΠ²ΠΈ. Π Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ Π±ΡΠΎΠΊΠ΅ΡΡΡ ΠΎΡΡ Π²ΡΡΠ»Ρ Π²ΡΡΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ, ΡΠΎΠ³Π°Π²Π° Π³Π»Π°Π²Π½ΠΈΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΡΠ»ΠΎΡΠΎ ΡΠ΅ΠΊΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΊΡΠΌ Π½ΠΎΠ²ΠΎΡΠΎ ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° βΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΡΠ΅Π»ΠΈΡ ΡΠ²ΡΡ Π΄Π° ΠΈΠ·ΡΠ°ΠΊΠ°β. ΠΠ»Π°Π²Π½ΠΈΡΡ Π½Π΅ ΠΏΡΠΈΠ΅ΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΠ·Π΄Π°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ.
Kafka Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΆΡΡΠ½Π°Π» ΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ RabbitMQ ΠΎΠΏΠ°ΡΠΊΠ°, ΠΊΡΠ΄Π΅ΡΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Ρ ΠΎΡ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π±ΡΠ΄Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ. ΠΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΎΠΏΠ°ΡΠΊΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ°Π»ΠΊΠΈ. ΠΠΎ Kafka Π΅ Π΄Π½Π΅Π²Π½ΠΈΠΊ ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° Π·Π°Π΄ΡΡΠΆΠ°Π½Π΅, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ Π΄Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π΄ΠΌΠΈΡΠΈ. ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ° ΠΈ ΠΏΡΠ»Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ² Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΆΡΡΠ½Π°Π». ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π°, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΠ°ΡΠΊΠ° ΠΏΡΠΎΡΡΠΎ ΡΡΠΊΡΠ°ΡΠ°Π²Π°Ρ ΡΠ²ΠΎΡ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π΄ΠΎ HW Π½Π° Π»ΠΈΠ΄Π΅ΡΠ° (ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΡ), Π°ΠΊΠΎ ΡΡΡ Π½ΠΎΡΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π΅ ΠΏΡΠ΅Π΄ Π»ΠΈΠ΄Π΅ΡΠ°. Π ΠΏΠΎ-Π²Π΅ΡΠΎΡΡΠ½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ ΠΈΠ·ΠΎΡΡΠ°Π²Π°, ΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΠΈΡ ΡΠΈ LEO.
ΠΠΎΠ²ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ ΠΈΠ·Π²ΡΠ½ ISR ΠΈ Π½Π΅ ΡΡΠ°ΡΡΠ²Π°Ρ Π² Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ. Π’Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π·Π°Π΅Π΄Π½ΠΎ Ρ Π³ΡΡΠΏΠ°ΡΠ°, ΠΊΠ°ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΎ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π°ΡΡΠΈΠ³Π½Π°Ρ Π»ΠΈΠ΄Π΅ΡΠ° ΠΈ Π²Π»ΡΠ·Π°Ρ Π² ISR. ΠΡΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΈ Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° ΠΈΠ·Ρ Π²ΡΡΠ»ΡΡΠ΅ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°
Kafka ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΡ RabbitMQ, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΡΡΡΠ΅ΡΡΡ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΊΡΡΠ½Π°Ρ. ΠΠΎ Kafka ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅ ΠΎΠ±ΠΌΠΈΡΠ»Π΅Π½ΠΈ.
ΠΠΎ-Π΄ΠΎΠ»Ρ ΡΠ° Π΄Π°Π΄Π΅Π½ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ Π·Π° Π½Π΅ΡΡΠΏΠ΅ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ°:
- Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 1: ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π½Π΅ Π²ΠΈΠΆΠ΄Π° Π»ΠΈΠ΄Π΅ΡΠ°, Π½ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ Π²ΠΈΠΆΠ΄Π° ΠΏΠ°Π·ΠΈΡΠ΅Π»Ρ Π½Π° Π·ΠΎΠΎΠΏΠ°ΡΠΊΠ°.
- Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 2: ΠΠΈΠ΄Π΅ΡΡΡ Π½Π΅ Π²ΠΈΠΆΠ΄Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π²ΠΈΠΆΠ΄Π° Zookeeper.
- Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 3: ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π²ΠΈΠΆΠ΄Π° Π»ΠΈΠ΄Π΅ΡΠ°, Π½ΠΎ Π½Π΅ Π²ΠΈΠΆΠ΄Π° ΠΏΠ°Π·Π°ΡΠ° Π½Π° Π·ΠΎΠΎΠΏΠ°ΡΠΊΠ°.
- Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 4: ΠΠΈΠ΄Π΅ΡΡΡ Π²ΠΈΠΆΠ΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅, Π½ΠΎ Π½Π΅ Π²ΠΈΠΆΠ΄Π° ΠΏΠ°Π·ΠΈΡΠ΅Π»Ρ Π½Π° Π·ΠΎΠΎΠΏΠ°ΡΠΊΠ°.
- Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 5: ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊΡΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ Π½Π° Kafka, ΡΠ°ΠΊΠ° ΠΈ ΠΎΡ Zookeeper.
- Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 6: ΠΠΈΠ΄Π΅ΡΡΡ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊΡΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ Π½Π° Kafka, ΡΠ°ΠΊΠ° ΠΈ ΠΎΡ Zookeeper.
- Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 7: ΠΡΠ·Π΅Π»ΡΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π½Π° Kafka Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈ Π΄ΡΡΠ³ Π²ΡΠ·Π΅Π» Π½Π° Kafka.
- Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 8: ΠΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ Kafka Π½Π΅ Π²ΠΈΠΆΠ΄Π° Zookeeper.
ΠΡΠ΅ΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠΌΠ° ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 1: ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π½Π΅ Π²ΠΈΠΆΠ΄Π° Π»ΠΈΠ΄Π΅ΡΠ°, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π²ΠΈΠΆΠ΄Π° Zookeeper
ΠΡΠΈΠ·. 22. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 1: ISR Π½Π° ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ
ΠΠ΅ΡΡΠΏΠ΅ΡΠ½Π°ΡΠ° Π²ΡΡΠ·ΠΊΠ° ΡΠ°Π·Π΄Π΅Π»Ρ Π±ΡΠΎΠΊΠ΅Ρ 3 ΠΎΡ Π±ΡΠΎΠΊΠ΅ΡΠΈ 1 ΠΈ 2, Π½ΠΎ Π½Π΅ ΠΈ ΠΎΡ Zookeeper. ΠΡΠΎΠΊΠ΅Ρ 3 Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠ΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ replica.lag.time.max.ms ΡΠΎΠΉ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΎΡ ISR ΠΈ Π½Π΅ ΡΡΠ°ΡΡΠ²Π° Π² Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°, ΡΠΎΠΉ ΡΠ΅ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΠΈ ΠΊΡΠΌ ISR, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΡΡΠΈΠ³Π½Π΅ Π»ΠΈΠ΄Π΅ΡΠ°. Zookeeper ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° ping ΠΈ ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ΅, ΡΠ΅ Π±ΡΠΎΠΊΠ΅ΡΡΡ Π΅ ΠΆΠΈΠ² ΠΈ Π·Π΄ΡΠ°Π².
ΠΡΠΈΠ·. 23. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 1: ΠΡΠΎΠΊΠ΅ΡΡΡ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° ΠΎΡ ISR, Π°ΠΊΠΎ ΠΎΡ Π½Π΅Π³ΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° replica.lag.time.max.ms
ΠΡΠΌΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠ·ΡΠΊ ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ·Π»ΠΈ ΠΊΠ°ΡΠΎ Π² RabbitMQ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΠΈΠ·Π»ΠΈΡΡΠΊΡΡ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 2: ΠΠΈΠ΄Π΅ΡΡΡ Π½Π΅ Π²ΠΈΠΆΠ΄Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π²ΠΈΠΆΠ΄Π° Zookeeper
ΠΡΠΈΠ·. 24. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 2. ΠΠΈΠ΄Π΅Ρ ΠΈ Π΄Π²Π°ΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
ΠΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ ΡΠ°Π·Π΄Π΅Π»Ρ Π»ΠΈΠ΄Π΅ΡΠ° ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅, Π½ΠΎ Π±ΡΠΎΠΊΠ΅ΡΡΡ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈ Zookeeper. ΠΠ°ΠΊΡΠΎ Π² ΠΏΡΡΠ²ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ISR ΡΠ΅ ΡΠ²ΠΈΠ²Π°, Π½ΠΎ ΡΠΎΠ·ΠΈ ΠΏΡΡ ΡΠ°ΠΌΠΎ Π΄ΠΎ Π»ΠΈΠ΄Π΅ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΏΠΈΡΠ°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅. ΠΡΠ½ΠΎΠ²ΠΎ Π½ΡΠΌΠ° Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΠΈΠΌΠ° Π·Π°Π³ΡΠ±Π° Π½Π° ΠΈΠ·Π»ΠΈΡΡΠΊ Π·Π° Π½ΠΎΠ²ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠΊΠ°ΡΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π½Π΅ Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°. Zookeeper ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠΈΠ½Π³ΠΎΠ²Π΅ ΠΈ Π²ΡΡΠ²Π°, ΡΠ΅ Π±ΡΠΎΠΊΠ΅ΡΡΡ Π΅ ΠΆΠΈΠ² ΠΈ Π·Π΄ΡΠ°Π².
ΠΡΠΈΠ·. 25. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 2. ISR ΡΠ΅ Π΅ ΡΠ²ΠΈΠ» ΡΠ°ΠΌΠΎ Π΄ΠΎ Π»ΠΈΠ΄Π΅ΡΠ°
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 3. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π²ΠΈΠΆΠ΄Π° Π»ΠΈΠ΄Π΅ΡΠ°, Π½ΠΎ Π½Π΅ Π²ΠΈΠΆΠ΄Π° ΠΏΠ°Π·ΠΈΡΠ΅Π»Ρ Π½Π° Π·ΠΎΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° Π³ΡΠ°Π΄ΠΈΠ½Π°
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΎΡ Zookeeper, Π½ΠΎ Π½Π΅ ΠΈ ΠΎΡ Π±ΡΠΎΠΊΠ΅ΡΠ° Ρ Π»ΠΈΠ΄Π΅ΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ»Π΅Π½ Π½Π° ISR. Zookeeper Π²Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠΈΠ½Π³ΠΎΠ²Π΅ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ° ΡΡΠΈΠ² Π½Π° Π±ΡΠΎΠΊΠ΅Ρ, Π½ΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π», Π½ΡΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΡΠ»Π΅Π΄ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅.
ΠΡΠΈΠ·. 26. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 3: ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΎΠ΄Π°ΡΠ°
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 4. ΠΠΈΠ΄Π΅ΡΡΡ Π²ΠΈΠΆΠ΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π½ΠΎ Π½Π΅ Π²ΠΈΠΆΠ΄Π° Zookeeper
ΠΡΠΈΠ·. 27. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 4. ΠΠΈΠ΄Π΅Ρ ΠΈ Π΄Π²Π°ΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
ΠΠΈΠ΄Π΅ΡΡΡ Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΎΡ Zookeeper, Π½ΠΎ Π½Π΅ ΠΈ ΠΎΡ Π±ΡΠΎΠΊΠ΅ΡΠΈΡΠ΅ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ.
ΠΡΠΈΠ·. 28. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 4: ΠΠΈΠ΄Π΅ΡΡΡ Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ ΠΎΡ Zookeeper
Π‘Π»Π΅Π΄ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Zookeeper ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠ° Π½Π° Π±ΡΠΎΠΊΠ΅ΡΠ° ΠΈ ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π·Π° ΡΠΎΠ²Π°. Π’ΠΎΠΉ ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ ΡΡΠ΅Π΄ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ ΠΎΠ±Π°ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΠΌΠΈΡΠ»ΠΈ, ΡΠ΅ Π΅ Π»ΠΈΠ΄Π΅ΡΡΡ ΠΈ ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΎΡ acks=1. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΡ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠΎΠΉ ΡΠ΅ Π³ΠΈ ΡΠΌΡΡΠ° Π·Π° ΠΌΡΡΡΠ²ΠΈ ΠΈ ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ²ΠΈΠ΅ ISR Π΄ΠΎ ΡΠ΅Π±Π΅ ΡΠΈ. ΠΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½ΡΠΌΠ° Π²ΡΡΠ·ΠΊΠ° ΡΡΡ Zookeeper, Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ²Π° ΠΈ Π² ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ΅ Π΄ΡΡΠ³ΠΈ Π·Π°ΠΏΠΈΡΠΈ.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ acks=Π²ΡΠΈΡΠΊΠΈ Π½ΡΠΌΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅, Π·Π°ΡΠΎΡΠΎ ISR ΠΏΡΡΠ²ΠΎ Π²ΠΊΠ»ΡΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π°Ρ Π΄ΠΎ ΡΡΡ . ΠΠΎΠ³Π°ΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° Π³ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ ΠΎΡ ISR, ΡΠΎΠΉ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ ΡΠ΅ ΡΠΏΡΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠΊΠΎΡΠΎ Π·Π°Π±Π΅Π»ΡΠ·Π²Π°Ρ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π² Π»ΠΈΠ΄Π΅ΡΠ° ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΊΡΠΌ Π½ΠΎΠ²ΠΈΡ ΡΡΡΠ²ΡΡ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°, ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ Π²ΠΈΠΆΠ΄Π°, ΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π»ΠΈΠ΄Π΅Ρ ΠΈ ΡΡΠΊΡΠ°ΡΠ°Π²Π° ΡΠ²ΠΎΡ ΠΆΡΡΠ½Π°Π» Π΄ΠΎ HW ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ°, ΠΊΠΎΡΡΠΎ Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ Π΅ ΠΈΠΌΠ°Π» Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π°, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ ΡΠ°Π·ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π² ΠΆΡΡΠ½Π°Π»Π°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ. ΠΡΠΈΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΎΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡ Π»ΠΈΠ΄Π΅Ρ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°Π½ΠΈ ΠΊΡΠΌ Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ, ΡΠ΅ Π³ΡΠ±ΡΡ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π±ΠΈΠ»ΠΈ ΠΏΡΠΈΠ·Π½Π°ΡΠΈ ΠΎΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡ Π»ΠΈΠ΄Π΅Ρ Π² ΡΠ΅Π·ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π΄Π²Π° Π»ΠΈΠ΄Π΅ΡΠ° ΡΠ° ΡΠ°Π±ΠΎΡΠΈΠ»ΠΈ, ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°Π³ΡΠ±Π΅Π½ΠΈ.
ΠΡΠΈΠ·. 29. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 4. ΠΠΈΠ΄Π΅ΡΡΡ Π½Π° Π±ΡΠΎΠΊΠ΅Ρ 1 ΡΡΠ°Π²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΡΠ»Π΅Π΄ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 5: ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊΡΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ Π½Π° Kafka, ΡΠ°ΠΊΠ° ΠΈ ΠΎΡ Zookeeper
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ ΠΊΠ°ΠΊΡΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ Π½Π° Kafka, ΡΠ°ΠΊΠ° ΠΈ ΠΎΡ Zookeeper. Π’ΠΎΠΉ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° ΠΎΡ ISR, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π΅ Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°, ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π½Π°ΡΡΠΈΠ³Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅.
ΠΡΠΈΠ·. 30. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 5: ΠΠ·ΠΎΠ»ΠΈΡΠ°Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° ΠΎΡ ISR
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 6: ΠΠΈΠ΄Π΅ΡΡΡ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊΡΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ Π½Π° Kafka, ΡΠ°ΠΊΠ° ΠΈ ΠΎΡ Zookeeper
ΠΡΠΈΠ·. 31. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 6. ΠΠΈΠ΄Π΅Ρ ΠΈ Π΄Π²Π°ΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
ΠΠΈΠ΄Π΅ΡΡΡ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ ΠΎΡ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° ΠΈ Zookeeper. ΠΠ° ΠΊΡΠ°ΡΡΠΊ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΎΡ acks=1.
ΠΡΠΈΠ·. 32. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 6: ΠΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΈΠ΄Π΅ΡΠ° ΠΎΡ Π΄ΡΡΠ³ΠΈ Π²ΡΠ·Π»ΠΈ Π½Π° Kafka ΠΈ Zookeeper
ΠΠ΅ ΡΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΡΠ»Π΅Π΄ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ replica.lag.time.max.ms, ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ²ΠΈΠ΅ ISR Π΄ΠΎ ΡΠ΅Π±Π΅ ΡΠΈ, Π½ΠΎ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ, Π·Π°ΡΠΎΡΠΎ Π½ΡΠΌΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΡΡΡ Zookeeper, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠΏΡΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Zookeeper ΡΠ΅ ΠΌΠ°ΡΠΊΠΈΡΠ° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈΡ Π±ΡΠΎΠΊΠ΅Ρ ΠΊΠ°ΡΠΎ ΠΌΡΡΡΡΠ² ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ.
ΠΡΠΈΠ·. 33. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 6. ΠΠ²Π°ΠΌΠ° Π»ΠΈΠ΄Π΅ΡΠΈ
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ Π·Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π½ΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠΏΠΈΡΠ° Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π½Π° Π²ΡΠ΅ΠΊΠΈ 60 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Ρ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ. Π’Π΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ°Π½ΠΈ Π·Π° ΡΠΌΡΠ½Π°ΡΠ° Π½Π° Π»ΠΈΠ΄Π΅ΡΠ° ΠΈ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ.
ΠΡΠΈΠ·. 34. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 6: ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΊΡΠΌ Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ
ΠΡΠΈΡΠΊΠΈ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½ΠΈ Π·Π°ΠΏΠΈΡΠΈ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡ Π»ΠΈΠ΄Π΅Ρ ΡΠ»Π΅Π΄ Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° Π²ΡΡΠ·ΠΊΠ°, ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°Π³ΡΠ±Π΅Π½ΠΈ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°, ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ ΡΠ΅ ΠΎΡΠΊΡΠΈΠ΅ ΡΡΠ΅Π· Zookeeper, ΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π»ΠΈΠ΄Π΅Ρ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΡΠΊΡΠ°ΡΠΈ ΡΠ²ΠΎΡ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π΄ΠΎ HW Π½Π° Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π±ΠΎΡΠΈΡΠ΅ ΠΈ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠΈ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π».
ΠΡΠΈΠ·. 35. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 6: ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ ΡΡΠ°Π²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΡΠ»Π΅Π΄ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ
Π ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΡΡΡΠΏΠΈ Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΠ°Π·Π΄ΡΠ»Π° Π·Π° ΠΊΡΠ°ΡΡΠΊ ΠΏΠ΅ΡΠΈΠΎΠ΄, Π½ΠΎ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ acks=1 ΠΈ min.insync.ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΡΡΡΠΎ 1. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π° ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ ΡΠ°Π·Π±Π΅ΡΠ΅, ΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π»ΠΈΠ΄Π΅Ρ, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΠ°Π·Π±Π΅ΡΠ°Ρ, ΡΠ΅ Π»ΠΈΠ΄Π΅ΡΡΡ ΡΠ΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ» ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΠΏΠΈΡΠ°Ρ Π½Π° Π½ΠΎΠ²ΠΈΡ Π»ΠΈΠ΄Π΅Ρ - ΠΊΠΎΠ΅ΡΠΎ ΠΎΡ Π΄Π²Π΅ΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΠΈ ΠΏΡΡΠ²ΠΎ. ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉ Π½ΡΠΊΠΎΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°Π³ΡΠ±Π΅Π½ΠΈ, Π½ΠΎ ΡΠ°ΠΌΠΎ Ρ acks=1.
ΠΠΌΠ° Π΄ΡΡΠ³ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° ΡΠΎΠ·ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΈ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π΄Π° ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΈΠ·ΠΎΡΡΠ°Π²Π°Ρ ΠΈ Π»ΠΈΠ΄Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ISR ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΠ΅Π±Π΅ ΡΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ° ΠΏΠΎΡΠ°Π΄ΠΈ Π·Π°Π³ΡΠ±Π° Π½Π° Π²ΡΡΠ·ΠΊΠ°. ΠΠ·Π±ΠΈΡΠ° ΡΠ΅ Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ, Π½ΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄ΠΎΡΠΈ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ acks=Π²ΡΠΈΡΠΊΠΈ, Π·Π°ΡΠΎΡΠΎ Π² ISR Π½ΡΠΌΠ° Π½ΠΈΠΊΠΎΠΉ Π΄ΡΡΠ³ ΠΎΡΠ²Π΅Π½ Π½Π΅Π³ΠΎ. Π’Π΅Π·ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°Π³ΡΠ±Π΅Π½ΠΈ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΡΠ°Π·ΠΈ ΠΎΠΏΡΠΈΡ Π΅ min.insync.replicas = 2.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 7: Kafka Controller Node Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈ Π΄ΡΡΠ³ Kafka Node
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Ρ Kafka Π²ΡΠ·Π΅Π» Π±ΡΠ΄Π΅ Π·Π°Π³ΡΠ±Π΅Π½Π°, ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π° Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π»ΠΈΠ΄Π΅ΡΠ° ΠΊΡΠΌ Π½Π΅Π³ΠΎ. Π Π½Π°ΠΉ-Π»ΠΎΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΠΉΠ½Π° Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΠ°Π·Π΄ΡΠ»Π°, ΠΊΠ°ΠΊΡΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΉ 6. ΠΠΎ-ΡΠ΅ΡΡΠΎ Π±ΡΠΎΠΊΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΌΠ° Π΄Π° ΡΡΠ°Π½Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π·Π° Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎ, Π°ΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ 8: ΠΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ Kafka Π½Π΅ Π²ΠΈΠΆΠ΄Π° Zookeeper
Zookeeper Π½ΡΠΌΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ ping ΠΎΡ ΠΏΠ°Π΄Π½Π°Π»ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ ΠΈ ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ Π½ΠΎΠ² Kafka Π²ΡΠ·Π΅Π» ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ. ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΠΊΠ°ΡΠΎ ΡΠ°ΠΊΡΠ², Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΠΎΡ Zookeeper, ΡΠ°ΠΊΠ° ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΠΈΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π·Π°Π΄Π°ΡΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°, ΡΠΎΠΉ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅, ΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ, Π° ΡΠ΅ Π΅ ΠΏΡΠ΅Π²ΡΡΠ½Π°Π» Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Kafka Π²ΡΠ·Π΅Π».
ΠΠ·Π²ΠΎΠ΄ΠΈ ΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈΡΠ΅
ΠΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π° ΠΏΡΠΎΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΈΠ·Π»ΠΈΡΡΠΊΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°. Π’ΠΎΠ²Π°, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ·Π»ΠΈ ΡΠ° Π·Π°Π³ΡΠ±Π΅Π½ΠΈ.
ΠΠΊΠΎ Π»ΠΈΠ΄Π΅ΡΡΡ ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΠΈ ΠΎΡ Zookeeper ΠΏΠΎΡΠ°Π΄ΠΈ Π·Π°Π³ΡΠ±Π° Π½Π° Π²ΡΡΠ·ΠΊΠ°, ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ acks=1. ΠΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΡΡΡ Zookeeper ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΠΊΡΠ°ΡΡΠΊ Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΠ°Π·Π΄ΡΠ»Π° Ρ Π΄Π²Π°ΠΌΠ°ΡΠ° Π»ΠΈΠ΄Π΅ΡΠΈ. Π’ΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ ΡΠ΅ΡΠ°Π²Π° ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° acks=Π²ΡΠΈΡΠΊΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ min.insync.ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π² Π΄Π²Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠ²Π΅ΡΠ΅Π½ΠΎΡΡ, ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΠΊΡΠ°ΡΠΊΠΎΡΡΠΎΡΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½ΡΠΌΠ° Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ Π΄ΠΎ Π·Π°Π³ΡΠ±Π΅Π½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΡΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΉ 6.
Π Π΅Π·ΡΠΌΠ΅ Π½Π° ΠΈΠ·Π³ΡΠ±Π΅Π½ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΠΊΠ° ΠΈΠ·Π±ΡΠΎΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΠΈΠ½ΠΈ, ΠΏΠΎ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² Kafka:
- ΠΡΡΠΊΠ° Π³ΡΠ΅ΡΠΊΠ° Π½Π° Π»ΠΈΠ΄Π΅ΡΠ°, Π°ΠΊΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ° ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° acks=1
- ΠΡΠ΅ΠΊΠΈ Π½Π΅ΡΠΈΡΡ ΠΏΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎ, ΡΠΎΠ΅ΡΡ ΠΊΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΠΈΠ·Π²ΡΠ½ ISR, Π΄ΠΎΡΠΈ ΠΈ Ρ acks=Π²ΡΠΈΡΠΊΠΈ
- ΠΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΈΠ΄Π΅ΡΠ° ΠΎΡ Zookeeper, Π°ΠΊΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ° ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½ΠΈ ΡΡΠ΅Π· acks=1
- ΠΡΠ»Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° Π»ΠΈΠ΄Π΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π΅ ΡΠ²ΠΈΠ» ISR Π³ΡΡΠΏΠ°ΡΠ° Π΄ΠΎ ΡΠ΅Π±Π΅ ΡΠΈ. ΠΠΎΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°Π³ΡΠ±Π΅Π½ΠΈ acks=Π²ΡΠΈΡΠΊΠΈ. Π’ΠΎΠ²Π° Π΅ Π²ΡΡΠ½ΠΎ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ min.insync.replicas=1.
- ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ Π½Π° Π΄ΡΠ»ΠΎΠ²Π΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°Ρ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π½ΡΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ ΠΎΡΠ΅ Π΄Π° Π½Π΅ ΡΠ° Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ°. Π‘Π»Π΅Π΄ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π½ΡΠΊΠΎΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π»ΠΈΠΏΡΠ²Π°Ρ.
ΠΠ΅ΡΠΈΡΡΠΈΡΠ΅ Π»ΠΈΠ΄Π΅ΡΡΠΊΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π±Π΅Π³Π½Π°ΡΠΈ, ΠΊΠ°ΡΠΎ ΡΠ΅ Π·Π°Π±ΡΠ°Π½ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΈΠ³ΡΡΡΡ ΠΏΠΎΠ½Π΅ Π΄Π²Π΅ ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΉ-ΠΈΠ·Π΄ΡΡΠΆΠ»ΠΈΠ²Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ acks=Π²ΡΠΈΡΠΊΠΈ ΠΈ min.insync.ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 1.
ΠΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° Π½Π° RabbitMQ ΠΈ Kafka
ΠΠ° Π΄Π° ΠΎΡΠΈΠ³ΡΡΡΡ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΈ Π²ΠΈΡΠΎΠΊΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ, Π΄Π²Π΅ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ ΠΏΡΡΠ²ΠΈΡΠ½Π° ΠΈ Π²ΡΠΎΡΠΈΡΠ½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°. RabbitMQ ΠΎΠ±Π°ΡΠ΅ ΠΈΠΌΠ° Π°Ρ ΠΈΠ»Π΅ΡΠΎΠ²Π° ΠΏΠ΅ΡΠ°. ΠΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΠ»Π΅Π΄ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π²ΡΠ·Π»ΠΈΡΠ΅ ΠΈΠ·Ρ Π²ΡΡΠ»ΡΡ ΡΠ²ΠΎΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ°. Π’ΠΎΠ·ΠΈ Π΄Π²ΠΎΠ΅Π½ ΡΠ΄Π°Ρ ΠΏΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ΄ Π²ΡΠΏΡΠΎΡ Π΄ΡΠ»Π³ΠΎΠ»Π΅ΡΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΠΎΠΏΠ°ΡΠΊΠΈ Π² RabbitMQ. Π©Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΈΠ·Π»ΠΈΡΡΠΊ, ΠΈΠ»ΠΈ Π΄ΡΠ»Π³ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅. ΠΠ°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·Π»ΠΈΡΡΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΡΠΈΡΠΊΠ° ΠΎΡ ΠΌΠ°ΡΠΈΠ²Π½Π° Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠΎ Π°ΠΊΠΎ ΠΎΠΏΠ°ΡΠΊΠΈΡΠ΅ ΡΠ° ΠΌΠ°Π»ΠΊΠΈ, ΡΠΎΠ³Π°Π²Π° Π² ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΈΠ·Π»ΠΈΡΡΠΊΠ°, ΠΊΡΠ°ΡΠΊΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ Π½Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ (Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ) ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅.
ΠΠ°ΡΠΊΠ° Π½ΡΠΌΠ° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π’ΠΎΠΉ ΠΎΡΡ Π²ΡΡΠ»Ρ Π΄Π°Π½Π½ΠΈ ΡΠ°ΠΌΠΎ ΠΎΡ ΡΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΈΠ΄Π΅ΡΠ° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΈΡΠΊΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π½Π°Π²Π°ΠΊΡΠ²Π°, ΡΠ°ΠΊΠ° ΡΠ΅ Π·Π° devops ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² ΡΡΠΈΠ²ΠΈΠ°Π»Π½Π° Π·Π°Π΄Π°ΡΠ°. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ. ΠΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ°.
RabbitMQ ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π° Kafka ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ²ΡΡΠ° Π² ΠΊΠ»ΡΡΡΠ΅Ρ ΡΠ΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΡΡ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ ΠΊΠ°Π·Π°Ρ ΠΌΠ΅, RabbitMQ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Π΄ΠΈΡΠΊ ΠΎΡ Π³Π»Π°Π²Π½ΠΈΡ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΠ³Π»Π΅Π΄Π°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ. ΠΠΎ ΡΠΎΠ²Π° Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ ΠΏΠΎ Π΄Π²Π΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ:
- fsync Π½Π° Π²ΡΠ΅ΠΊΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎΡΡΠΎΡΠΈΠ½ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ
- ΠΠ΅ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π½Π° ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» (net tick). ΠΠΊΠΎ ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎΡΠΎ ΡΠ΅ Π·Π°Π±Π°Π²ΠΈ ΠΈΠ»ΠΈ ΠΏΠ°Π΄Π½Π΅, ΡΠΎΠ²Π° Π΄ΠΎΠ±Π°Π²Ρ Π·Π°Π±Π°Π²ΡΠ½Π΅.
ΠΠ°Π»ΠΎΠ³ΡΡ Π½Π° Kafka Π΅, ΡΠ΅ Π°ΠΊΠΎ Π΅Π΄Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·Π»ΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π²Π΅Π΄Π½Π°Π³Π° ΡΠΎΠΌ ΠΏΠΎΠΏΠ°Π΄Π½Π°Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΠΈΡΠΊ ΠΎΡ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π²ΡΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ (Π΄ΠΎΡΠΈ acks=Π²ΡΠΈΡΠΊΠΈ, min.insync.replicas=2) Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ ΠΎΡΠΊΠ°Π·.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ, Kafka ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ° ΡΠΎΡΡΡΠ΅ΡΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ ΠΎΡ ΡΠ°ΠΌΠΎΡΠΎ Π½Π°ΡΠ°Π»ΠΎ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. ΠΡΠΎΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ Π΄ΠΎ 11, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ. ΠΠΎΠ΅ΡΠΈΡΠΈΠ΅Π½Ρ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ 5 ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π±ΡΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ min.insync.replicas=3 ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠΎ ΡΡΠ±ΠΈΡΠΈΠ΅. ΠΠΊΠΎ Π²Π°ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΎΠ²Π° ΡΡΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ·Π»ΠΈΡΡΠΊ, ΡΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ°Π·ΠΈ ΠΎΠΏΡΠΈΡ.
ΠΠ»ΡΡΡΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° RabbitMQ Π΅ Π΄ΠΎΠ±ΡΠΎ Π·Π° ΠΌΠ°Π»ΠΊΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ. ΠΠΎ Π΄ΠΎΡΠΈ ΠΌΠ°Π»ΠΊΠΈΡΠ΅ ΠΎΠΏΠ°ΡΠΊΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°ΡΡΠ°Ρ Π±ΡΡΠ·ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ° Π³ΠΎΠ»ΡΠΌ ΡΡΠ°ΡΠΈΠΊ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΎΠΏΠ°ΡΠΊΠΈΡΠ΅ ΡΡΠ°Π½Π°Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΡΡΠ΄Π΅Π½ ΠΈΠ·Π±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ. ΠΠ»ΡΡΡΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° RabbitMQ Π΅ Π½Π°ΠΉ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ Π·Π° Π½Π΅ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ»Π·ΠΈΡΠ΅ ΠΎΡ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ° Π½Π° RabbitMQ ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π°Ρ Π²ΡΠΈΡΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΊΠ»ΡΡΡΠ΅ΡΠΈΡΠ°Π½Π΅.
ΠΠ΄ΠΈΠ½ Π°Π½ΡΠΈΠ΄ΠΎΡ ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π½Π° RabbitMQ ΠΊΡΠΌ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ Π΅ Π΄Π° Π³ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ. ΠΠΊΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ ΠΏΡΠ»Π½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠ»Π°ΡΠ° ΠΎΠΏΠ°ΡΠΊΠ°, Π° ΡΠ°ΠΌΠΎ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ) ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ ΠΏΠΎΡΡΡΠ²Π°ΡΠ΅ Π½ΠΈΡΠΎ, ΡΠΎΠ³Π°Π²Π° ΡΠ°Π·ΠΈ ΠΎΠΏΡΠΈΡ Π΅ ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²Π°: Π²ΠΈΠΆΡΠ΅ ΠΌΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ
Π Π½Π°ΠΊΡΠ°Ρ, Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π·Π° ΡΠ΅Π΄ΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΊΠ°ΠΊΡΠΎ Π½Π° RabbitMQ, ΡΠ°ΠΊΠ° ΠΈ Π½Π° Kafka. Π‘ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΡΠ°Π½Π°Ρ Π° ΠΏΠΎ-Π·ΡΠ΅Π»ΠΈ ΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ, Π½ΠΎ Π½ΠΈΠΊΠΎΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ 100% Π·Π°ΡΠΈΡΠ΅Π½ΠΎ ΠΎΡ Π·Π°Π³ΡΠ±Π°! ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π² ΡΠ΅Π½ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ ΠΌΠ°ΡΠ°Π±Π½ΠΈ Π°Π²Π°ΡΠΈΠΈ!
ΠΠΊΠΎ ΡΡΠΌ ΠΏΡΠΎΠΏΡΡΠ½Π°Π» Π½Π΅ΡΠΎ, Π΄ΠΎΠΏΡΡΠ½Π°Π» ΡΡΠΌ Π³ΡΠ΅ΡΠΊΠ° ΠΈΠ»ΠΈ Π½Π΅ ΡΡΠ΅ ΡΡΠ³Π»Π°ΡΠ½ΠΈ Ρ Π½ΡΠΊΠΎΡ ΠΎΡ ΡΠΎΡΠΊΠΈΡΠ΅, Π½Π΅ ΡΠ΅ ΠΊΠΎΠ»Π΅Π±Π°ΠΉΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ ΠΌΠ΅Π½.
Π§Π΅ΡΡΠΎ ΠΌΠ΅ ΠΏΠΈΡΠ°Ρ: βΠΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ°, Kafka ΠΈΠ»ΠΈ RabbitMQ?β, βΠΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ°?β. ΠΡΡΠΈΠ½Π°ΡΠ° Π΅, ΡΠ΅ Π½Π°ΠΈΡΡΠΈΠ½Π° Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ°ΡΠΈΡ, ΡΠ΅ΠΊΡΡΠΈΡ ΠΎΠΏΠΈΡ ΠΈ Ρ.Π½. ΠΠΎΠ»Π΅Π±Π°Ρ ΡΠ΅ Π΄Π° Π΄Π°ΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ, Π·Π°ΡΠΎΡΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΡΠ΅ΠΊΠ°Π»Π΅Π½ΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΅Π΄Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΠΈΡΠ°Ρ ΡΠ°Π·ΠΈ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΡΡΠ°ΡΠΈΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΈ ΡΡΡΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅.
ΠΡΠΊΠ°ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ°, ΡΠ΅ ΠΈ Π΄Π²Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ° Π²ΠΎΠ΄Π΅ΡΠΈ Π² ΡΠ°Π·ΠΈ ΠΎΠ±Π»Π°ΡΡ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΡΠΌ ΠΌΠ°Π»ΠΊΠΎ ΠΏΡΠ΅Π΄ΡΠ±Π΅Π΄Π΅Π½, Π·Π°ΡΠΎΡΠΎ ΠΎΡ ΠΌΠΎΡ ΠΎΠΏΠΈΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΡΠΌ ΡΠΊΠ»ΠΎΠ½Π΅Π½ Π΄Π° ΡΠ΅Π½Ρ Π½Π΅ΡΠ° ΠΊΠ°ΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ.
ΠΠΈΠΆΠ΄Π°ΠΌ Π΄ΡΡΠ³ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ Π»ΠΈΠΏΡΠ²Π° ΡΠ°Π·ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄ΡΠ΅Π΄Π±Π°, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌ RabbitMQ ΠΈ Kafka ΠΈ ΠΎΡΡΠ·Π½Π°Π²Π°ΠΌ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° Π΄Π²Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com