ΠΊΠ°ΠΊ ΡΠ°Π·Π±ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
Π Π°Π·Π±ΠΈΠ²Π°Π΅ΠΌ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π·Π°Π΄Π°ΡΠ° ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅Π»Π° ΠΏΠΎΠΈΡΡΠΈΠ½Π΅ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Π² Π±ΠΈΠ·Π½Π΅Ρ ΡΡΠ΅Π΄Π΅. ΠΠ°ΠΊ Π±ΡΠ΄ΡΠΎ Π²ΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠΈ Π ΠΎΡΡΠΈΠΈ Π²Π΄ΡΡΠ³ ΠΎΡΠΎΠ·Π½Π°Π»ΠΈ Π²ΡΠ΅ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ βΠ½ΠΎΠ²ΠΎΠΉβ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΈΠ½ΠΎΠΊ ΠΎΡ Π½Π°ΡΠ°Π»ΡΡΡΠ²Π° ΠΈ Π±ΡΠΎΡΠΈΠ»ΠΈΡΡ Π±ΡΠ°ΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ·ΡΡΠ΅ΠΊ.
Π Π΅ΡΠΈΠ²ΠΎΡΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠΎΠ², ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, Π±Π΅Π·ΡΠΌΠ½Π° ΠΈ Π±Π΅ΡΠΏΠΎΡΠ°Π΄Π½Π°. Π Π²ΠΎΡ ΠΎΠΏΡΡΡ, ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ Π΄Π΅Π½ΡΠ³ΠΈ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΠΏΠΈΠ»ΠΎΡΡ, Π±Π΅Π·Π΄Π°ΡΠ½ΠΎ ΡΡΠ°ΡΡΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Π·Π»Π΅ΡΠΈΡ, Π° Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΎ, Π½Π΅Π²Π·ΠΈΡΠ°Ρ Π½Π° Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. Π, Π΄Π°ΠΌΡ ΠΈ Π³ΠΎΡΠΏΠΎΠ΄Π°, ΡΠ΄ΡΡΡΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ½ΡΠ΄Ρ Π½Π΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠ΅. ΠΠ½ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ Π²ΡΠ΅ΠΉ ΠΠ’-ΠΎΡΡΠ°ΡΠ»ΠΈ Π ΠΎΡΡΠΈΠΈ.
Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ (ΠΠ‘Π), ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΊ ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ. ΠΡ Π° Π² ΠΊΠΎΠ½ΡΠ΅ Ρ ΠΎΠΏΠΈΡΡ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π½Π° ΠΠ‘Π ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠ°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠ°ΠΊ, Π²Π°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠΈΠ»Π° ΡΠ°Π·Π±ΠΈΡΡ ΡΡΠ°ΡΡΠΉ, Π΄ΠΎΠ±ΡΡΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠΎΡΠ΅ΠΌΡ? Π―ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° Π½ΠΈΠΊΡΠΎ Π΄Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Π²ΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠ»ΠΎΡ ΠΎ ΠΆΠΈΠ²Π΅ΡΡΡ Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠΌ. ΠΠ°, ΡΠ΅Π»ΠΈΠ·Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΅Π½Ρ Π·Π°ΡΠ΅ΠΏΠ»Π΅Π½Ρ Π·Π° ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π² ΠΠ‘Π ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ? ΠΡΠΎ-ΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ ΡΠ°ΠΊ, Π° Π²Π°ΠΌ Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ? ΠΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π°Π΄ΠΎ, Π½ΠΎ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ ΡΡΠ°Π·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅? ΠΠΎΠ²ΠΎΡΡΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ: ΠΏΠ°ΠΌΡΡΠΈ, Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ.Π΄. ΠΡ ΠΈ ΡΡΠΎ? Π£ Π²Π°Ρ Π΄Π΅Π½ΡΠ³ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΡΡΡΠΊΠ»ΠΈ? ΠΠΈΠ·Π½Π΅Ρ ΡΠ΅Π½Π½ΠΎΡΡΡ-ΡΠΎ Π² ΡΠ΅ΠΌ?
ΠΠΎΠ»Π»Π΅Π³ΠΈ, Ρ Π½Π΅ Ρ ΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Ρ ΠΠ‘Π Π½Π΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ². ΠΡΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΅ΡΡΡ. ΠΠΎ Ρ Ρ ΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ ΡΠ΅Π»ΠΈ Π²Ρ Π½ΠΈ ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΈ, Π²Ρ ΠΈΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ°Π²ΠΈΡΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½ΠΈΡΠ΅. ΠΠ΅ Π΄ΠΎΡΡΠΈΠ³Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Π²Π°Ρ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠ΅ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ²Π΅Π»ΠΈ Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π±Π΅Π·Π΄Π°ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²Π°Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΠ‘Π Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½Π°Ρ Π»Π°ΠΏΡΠ° 20-Π³ΠΎ Π²Π΅ΠΊΠ° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π½ΡΠ½Π΅ΡΠ½Π΅Π³ΠΎ 21-Π³ΠΎ Π²Π΅ΠΊΠ°. Π Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Π·Π΄Π΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄Π°ΡΠ½Π°Ρ. Π’Π€ΠΎΠ Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΊΠ²Π°ΡΡΠΈΡΡ ΠΎΠ΄Π½Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ Π»ΠΈΠ½ΠΈΡ. ΠΠ±ΡΡΠ² Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΠ°ΡΡΠΊΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΡ ΠΎΠ΄Ρ Π΅Π΅ ΠΈΠ· ΡΡΡΠΎΡ. Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Ρ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠΎΠΈΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΡΡΡΡ. ΠΠ°ΠΆΠ΅ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΡΡΠΎΡ 60% Π²ΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΡΡΡΠ°Π½Ρ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΄Π΅ΡΠ½ΠΎΠΉ Π²ΠΎΠΉΠ½Ρ, Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΊΠ°Π·Ρ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ ΡΠ΅ΡΠ΅ΠΉ.
Π’.Π΅., Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΠ‘Π ΠΏΠ΅ΡΠ΅Π΄ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠΌ β ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. Π’ΡΡ Π½Π°Π΄ΠΎ ΠΏΠΎΡΡΠ½ΠΈΡΡ: ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ ΠΠ‘Π Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½Π°. ΠΠ‘Π Π»ΠΈΡΡ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠΎΠΈΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎ ΡΡΠΎ Π²Π°ΡΠ° ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π°Π»ΠΎΠΆΠΈΡΡ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΈ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°.
Π ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
ΠΡΠΎ ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π’Π°ΠΊΠΎΠΉ ΡΠΈΠ½Π°Π» ΠΆΠ΄Π΅Ρ ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅Π΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΈΠ»ΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠ°ΡΡΠΎΠ²Π°Π»ΠΈ. Π Π²ΡΠ΅ ΠΈΠ·-Π·Π° ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠ» Π²ΡΡΠ΅.
Π ΡΠ΅ΠΉΡΠ°Ρ Ρ Ρ ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΡ Π΅ΡΠ΅ ΡΠ°Π· ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Ρ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠΎΡΠΈΠ² ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠ°ΠΏΡΠΎΡΠΈΠ², Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ Π²Π°ΡΠ΅ΠΉ ΠΠ’-ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. ΠΠ΅Π·Π΄ΡΠΌΠ½ΠΎΠ΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π±Π΅Π· ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΠΎΡΠΈΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΎΡΡΠ°ΡΠ»ΠΈ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π·Π΄ΡΠ°Π²ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° β Π²ΠΎΡ ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΡΠΈ ΠΏΠΈΠ»ΠΎΡΡ Π½Π° ΡΠ²Π°Π»ΠΊΡ ΠΈΡΡΠΎΡΠΈΠΈ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π»ΡΠ΄Π΅ΠΉ Π²Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΎΡΡΡ ΡΠ»Π΅Π·Ρ ΠΈ ΡΠ±ΡΡΠΊΠΈ Π²Π°ΡΠΈΡ ΠΈΠ½Π²Π΅ΡΡΠΎΡΠΎΠ².
ΠΠ°ΠΏΡΠΎΡΠΈΠ², ΡΠ°Π·ΡΠΌΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π²Π°ΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΡ ΠΏΠΎΠΆΠ΅Π»Π°ΡΡ ΠΌΡΠ΄ΡΠΎΡΡΠΈ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΠ’ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ .
Microservices. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ?
ΠΠ²ΡΠΎΡ: ΠΡΡΠ΅ΡΠ»Π°Π² ΠΠΈΡ Π°ΠΉΠ»ΠΎΠ²
ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π²ΡΠ΅ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ ΡΠ°ΠΊΠΈΠ΅ Π΄Π²ΡΡ - ΠΈΠ»ΠΈ ΡΡΠ΅Ρ ΡΠ»ΠΎΠΉΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ:
ΠΠ»Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΠΈ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, Π½ΠΎ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π²Π°Ρ Π΄Π°ΠΆΠ΅ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ), ΡΠΎΠ³Π΄Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΡΡΡ:
Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅, ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΠ΅ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ:
Π Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π½: ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΠΏΠΎΡΠ΅ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π½Π΅Π΄Π΅Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ. Π΄. ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.
Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΌΠΎΠ³Π»ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²ΡΡΠ΅ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ΡΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π½ΠΎ Π²Π΅Π΄Ρ Π²Π°ΠΌ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΎΡΠΈΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ Π΄Π΅Π½ΡΠ³ΠΈ. ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ?
Π’ΡΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π ΠΊΠ½ΠΈΠ³Π΅ βThe Art of Scalabilityβ Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Β«ΠΊΡΠ± ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» (scale cube) β ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ βThe Art of Scalabilityβ. ΠΠΎ ΡΡΠΎΠΌΡ ΠΊΡΠ±Ρ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: sharding, mirrorring ΠΈ microservices.
Π’Π΅ΠΎΡΠ΅ΠΌΠ° CAP
ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
ΠΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ Π½Π°Ρ ΠΊ CAP-ΡΠ΅ΠΎΡΠ΅ΠΌΠ΅, ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΡΡΠ΅ΡΠΎΠΌ Π² 2000 Π³.
Π’Π΅ΠΎΡΠ΅ΠΌΠ° ΡΡΠΎ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ, ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ (consistency), ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ (availability), ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΡΡΡ (partitioning). ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ² Π² ΠΏΠΎΠ»ΡΠ·Ρ Π΄Π²ΡΡ Π΄ΡΡΠ³ΠΈΡ . Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΈΠ· Β«Π±ΡΡΡΡΠΎ, Π΄Π΅ΡΠ΅Π²ΠΎ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΒ» ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ΅ΠΎΡΠ΅ΠΌΠ΅ CAP.
CA β consistency + availability
ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΡΠ°ΡΠΊΠ»Π°Π΄Π΅ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ·Π»Π°Ρ Ρ Π½Π°Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Ρ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ. ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ Π·Π΄Π΅ΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΠΈΠΊ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ (ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠΈΠ½ΡΡΠ° ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅), Π½ΠΎ ΠΌΡ ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΠΌ. Π£Π²Ρ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΡ ΠΆΠ΅ΡΡΠ²ΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΡΠ΅ΠΊΡΠΈΠΈ β Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ 300 ΡΠ°ΠΊΠΈΡ Ρ ΠΎΡΡΠΎΠ² ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΡΡΠΈΠΌ Ρ ΠΎΡΡΠ°ΠΌ. Π’Π°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
Π―ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ CA β ACID-ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°Ρ .
CP β consistency + partitioning
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ·Π»Π°Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Ρ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π° ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ β ΠΎΡΠΊΠ»ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΈΠΌ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π΄Π²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π±ΡΠ΄ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡΡΡ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° Π΄ΡΠ΅Π²Π½ΠΎΡΡΡ.
AP β availability + partitioning
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° β Π½Π°ΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½Ρ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ (ΠΎΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄ Π΄ΠΎ Π΄Π½Π΅ΠΉ). ΠΠΎ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ°ΡΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΠ΅Ρ Π·Π²Π΅Π½Π½Π°Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ΄Π°Π» Π²Π°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΡΠ΅ΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΠ½ΠΈ ΡΠΆΠ΅ ΡΡΡΠ°ΡΠ΅Π»ΠΈ. ΠΠ΅Π΄Ρ Π²Ρ Π½ΠΈΠΊΠΎΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, Π½Π΅ ΠΏΡΠΈΡΠ΅Π» Π»ΠΈ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΈ Π½Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ» ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅. Π’Π°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Ρ Π½Π°Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅(eventually consistent) β Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. Β«Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ Π²Π»ΠΈΡΡΡ Π²Π½Π΅ΡΠ½Π΅Π΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΎΠ½Π° ΠΏΡΠΈΠ΄Π΅Ρ Π² ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
Π―ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ DNS-ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΡΡ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π΄ΠΎ Π΄Π½Π΅ΠΉ (Π²ΠΎ Π²ΡΡΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ°Π½ΡΡΠ΅).
Π’Π΅ΠΏΠ΅ΡΡ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ²ΡΠΈΡΡ Ρ ΡΠ΅ΠΎΡΠΈΠ΅ΠΉ CAP, ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π±ΡΠ»Π° Π±ΡΡΡΡΠΎΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ. ΠΠ° Π½ΠΈΠΊΠ°ΠΊ! ΠΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈΠ· ΡΡΠ΅Ρ .
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π§ΡΠΎ ΠΆΠ΅ Π²ΡΠ±ΡΠ°ΡΡ? Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ, Π½ΡΠΆΠ½ΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, β Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΠΈ. ΠΠ΅Π΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² β ΠΎΡΠ΅Π½Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π³. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ Π²ΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎ, Ρ. Ρ. ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ:
ΠΠΎΡ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΡΠΎ Π²Π·ΡΡΡ ΠΈ ΡΠ°ΡΠΏΠΈΠ»ΠΈΡΡ Π²ΡΠ΅ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΡΡΠΊΠΈ ΠΈ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ β ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠ½Π°ΡΠ΅ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΠ»Π°Π΄ΠΊΠΎ.
Microservices & SOA
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΡΠ΅ΠΎΡΠΈΠΈ. ΠΡ Π²ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ SOA β ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. Π ΡΡΡ Ρ Π²Π°Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠ°ΠΊ ΠΆΠ΅ SOA ΡΠΎΠΎΡΠ½ΠΎΡΠΈΡΡΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ? ΠΠ΅Π΄Ρ, ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, SOA β ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° β ΡΠ°ΡΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ SOA:
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° β Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π½Π°Π±ΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ SOA.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ?
ΠΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π§ΡΠΎ Π·Π½Π°ΡΠΈΡ Β«ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉΒ» ΡΠ΅ΡΠ²ΠΈΡ? ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π³Π΄Π΅-ΡΠΎ 5 β 6 ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΠΈ ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ΅ΡΠ°Π΅Ρ ΠΎΠ΄Π½Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΡ, ΠΈ Π΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΠΎΠ½ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½, ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΡΠ° ΠΏΠΈΠ»ΠΈΡΡ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΎΠ½ ΠΏΠΎΡΡΡΠΎΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ΅Π΄Ρ Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ Π·Π°ΡΠ°ΡΡΡΡ Π»ΡΠ΄ΠΈ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΏΡΠΎΡΡΠΎ-Π½Π°ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°ΡΡ β Π½Π΅ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π² ΡΠ΅Π»ΠΎΠΌ. Π Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ, Π²ΡΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΡΡΠ°ΡΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠ»Π΅Π΄ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π² ΡΠ΅Π»ΠΎΠΌ.
Π§ΡΠΎ Π·Π½Π°ΡΠΈΡ Β«ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉΒ» ΡΠ΅ΡΠ²ΠΈΡ? ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ΅ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΡ, ΠΈ ΡΠ΅ΡΠ°Π΅Ρ Π΅Π΅ Ρ ΠΎΡΠΎΡΠΎ. Π’Π°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π² ΠΎΡΡΡΠ²Π΅ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²Ρ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ»ΠΎΠΆΠΈΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π΄ΠΎΠΏΠΈΡΠ°Π² security-ΠΎΠ±Π΅ΡΡΠΊΡ, ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΎΡΠΈΡΡ Π»ΡΠ΄ΡΠΌ ΠΏΠΎΠ»ΡΠ·Ρ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Β«ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΠΉΒ» ΡΠ΅ΡΠ²ΠΈΡ? ΠΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄ΡΡΠ³ΠΎΠΌ. ΠΡ ΡΠ²ΡΠ·Π°Π½Ρ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· DI ΠΈ IoC β ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π½Π°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ π
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Β«Π²ΡΡΠΎΠΊΠΎΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠΉΒ» ΡΠ΅ΡΠ²ΠΈΡ? ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, ΡΠ΅ΠΌ Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ (high cohesion) ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ SRP? ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΡ Π½Π΅ΠΉ. Π ΡΠ»ΡΡΠ°Π΅ SRP ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΊΡΡ Π½Π΅ΠΉ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈ Ρ ΡΠ΅ΠΌ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΡΡ Π½Π΅ΠΉ. Π ΡΠ»ΡΡΠ°Π΅ ΠΆΠ΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ, Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΡΡ Π½Π΅ΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠ³Π΄Π΅. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (ΡΠ΅ΡΠ²ΠΈΡΡ)
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΡΠ²Π°ΡΡ Π΄Π²ΡΡ Π²ΠΈΠ΄ΠΎΠ²: Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ. ΠΠ°ΡΡΠΈΠ½ Π€Π°ΡΠ»Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ°ΠΊ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅ΠΌΡΠ΅. Π’. Π΅., Π΅ΡΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·ΡΡΡ ΡΡΠΎ-ΡΠΎ ΠΈ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ, β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. Π Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΈ ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ (Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ, ΡΠ±ΠΎΡΠΊΠΈ, Π²Π΅ΡΡΠΈΠΈβ¦) β- ΠΎΠ½ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. ΠΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ, ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΡΠΊΡΠ΄Π°-ΡΠΎ Π΅ΡΠ΅, ΡΡΠΎ ΡΠΎΠΆΠ΅ Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΠ°ΠΌ (ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-ΡΠΌΡΡΠ»)
ΠΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°:
ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΡΠ°ΡΡΡΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎ ΡΡΠΈΠΌ ΡΠ»ΠΎΡΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ UI, Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ΄ΡΠΎΠΌ, ΠΈ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΡΡΡ Π² ΠΠ.
ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅, ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π΅Π»ΡΡΡΡ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΠ°ΠΌ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π³ΡΡΠΏΠΏΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΊΠ°Π·Π°ΠΌΠΈ, β ΠΎΠ½Π° Π³ΡΡΠΏΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π΄Π΅Π»Π°ΡΡ ΠΏΠΎ Π½ΠΈΠΌ ΠΎΡΡΠ΅ΡΡ ΠΈ Ρ. Π΄. Π’Π°ΠΊΠ°Ρ Π³ΡΡΠΏΠΏΠ° Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΠ, ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π΄Π°ΠΆΠ΅ UI. ΠΠΏΡΠΎΡΠ΅ΠΌ, Π² ΠΌΠΎΠ΅ΠΌ ΠΎΠΏΡΡΠ΅ UI ΡΠ°ΡΠΏΠΈΠ»ΠΈΠ²Π°ΡΡ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ΄Π°Π²Π°Π»ΠΎΡΡ β Π΅Π³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π½Π°ΠΌ ΡΠ΄Π°ΡΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ, ΡΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΊΠ°ΠΊ Π²Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±ΠΈΠ»ΠΈΡΡ. ΠΠ°ΠΊ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ UI ΠΎΡΡΠ°Π΅ΡΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌ, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π±ΠΈΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎΠ²ΡΠΎΡΡΡΡ, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΠΠ§ΠΠ Π²Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅ β ΠΈΠ½Π°ΡΠ΅ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
Π£ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΠΏΡΠΎΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ
ΠΡΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π±Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠΌΠ½ΡΡ ΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π½Π°Π΅Ρ ΠΈ ΠΏΡΠΎ ΡΠΎΡΡΠΈΠ½Π³, ΠΈ ΠΏΡΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠ°Π²ΠΈΠ»Π° (Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ BizTalk), ΠΈ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΏΡΠΈΠ»Π΅ΡΠ°ΡΡ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠΌΠ½ΡΠΉ middleware ΠΈ Π³Π»ΡΠΏΡΠ΅ endpointβΡ. ΠΡΠΎ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, β Π°Π½ΡΠΈΡΠ°Π±Π»ΠΎΠ½. ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ Π²ΡΠ΅ΠΌΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°), Ρ Π½Π°Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΠΈ Π½Π΅Π·Π°ΡΠ΅ΠΉΠ»ΠΈΠ²Π°Ρ ΡΡΠ΅Π΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ β Π΅ΠΉ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ, ΡΡΠΎ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΠ΅, ΠΎΠ½Π° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΏΡΠΎ Π²Π°Ρ Π±ΠΈΠ·Π½Π΅Ρ. ΠΡΠ΅ ΠΌΠΎΠ·Π³ΠΈ ΠΆΠ΅ ΡΠΈΠ΄ΡΡ Π² ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ . ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΠ΅ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π² ΡΡΠ΅Π΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, Ρ Π²Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΠΌΠ½ΡΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΠΈ ΡΡΠΏΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ-ΠΎΠ±Π΅ΡΡΠΊΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
ΠΠ΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΠΈ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ β ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠ΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΡ ΠΠ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, β Π΅ΡΠ»ΠΈ ΡΡΠΈ ΡΠ»ΡΠΆΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°. ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ:
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ β ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ:
Middleware Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΉ β ΠΌΡ ΠΎΠ± ΡΡΠΎΠΌ Π΅ΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ. ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΡΡΠΌΡΡ, ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΠΎΠ² RPC, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈ ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ESB.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° β ΡΠΎ, Π±Π΅Π· ΡΠ΅Π³ΠΎ ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π»ΡΡΡΠ΅ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ. Π’. Ρ. Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π³ΠΎΡΠΎΠ²Ρ Π² ΡΡΠΎ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π½Π°Π½ΡΡΡ DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°. ΠΠ°ΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅, Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠ°. Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΈΠ½Π°ΡΠ΅ Π²Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π²ΡΠ΅ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΈ Π²ΡΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π°Π΄. ΠΠ΄Π΅ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠ³Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, β ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ, Ρ. ΠΊ. Π΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΎΠ΄Π΅ ELK ΠΈΠ»ΠΈ Amazon CloudWatch.
Design for Failure (Chaos Monkey)
Π‘ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ°, Π½Π°ΡΠΈΠ½Π°Ρ ΡΡΡΠΎΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ Π²Π°ΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π°, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΡΡΠ°Π·Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Netflix ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° Chaos Monkey β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΠΎΠΌΠ°Π΅Ρ ΡΠ΅ΡΠ²ΠΈΡΡ, Ρ Π°ΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡ Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈ ΡΠ²Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΡΠΎΡ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ Π±ΡΠ΄ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ?
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅, Ρ Π²Π·ΡΠ» ΠΈΠ· Π±Π»ΠΎΠ³Π° ΠΡΠΈΡΠ° Π ΠΈΡΠ°ΡΠ΄ΡΠΎΠ½Π° Π½Π° NGINX β ΡΠ°ΠΌ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ.
ΠΡΠ°ΠΊ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π°ΠΆΠ΅ UI-Π½ΡΠΉ), ΠΊΠΎΡΠΎΡΡΠΉ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΡ-ΡΠΎ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ β ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ. ΠΠΎ Π½Π° Π΄Π΅Π»Π΅ ΡΡΠΎ Π²ΡΠ»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ API Gateway:
API Gateway β ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π² Π±ΡΠΊΠ΅Π½Π΄Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌΠΈ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ, Π·Π°Π΄Π°ΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ β ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π²ΡΠ·ΠΎΠ²Ρ ΠΊ ΡΠ΅Π»Π΅Π²ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ. Π’ΠΎΠ³Π΄Π° Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° (ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ REST API, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅, Π° ΠΊΠ°ΠΊΠΈΠΌ ΡΠ³ΠΎΠ΄Π½ΠΎ). API Gateway ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠΌΡ ΡΠΈΠΏΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π²Π΅Π±- ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π΄Π²Π° API Gateway, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. API Gateway Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΈΠ½Π°ΡΠ΅ Π±Ρ ΡΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π²Π΅Π·Π΄Π΅ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π»Π°ΡΡ, ΠΈ Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ. API Gateway ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, ΠΈ Π²ΡΠ΅.
Π Π°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ
ΠΡΠ°ΠΊ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ UI, API Gateway ΠΈ Π΄Π΅ΡΡΡΠΎΠΊ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π·Π° Π½ΠΈΠΌ, Π½ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΎ β ΡΠ°ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΡΡΡΠΎΠΈΡΡ. ΠΠ΅Π΄Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΊΠ°ΠΊ-ΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Ρ. Π― Π²ΠΈΠΆΡ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ²ΡΠ·Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ:
Service Discovery
Service Discovery (RPC Style)
ΠΠΎΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Service Discovery:
ΠΠ΄Π΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠΈΡ Π°Π΄ΡΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ²ΡΠ·Π°Π½Ρ ΠΏΠΎ ΡΡΠΊΠ°ΠΌ ΠΈ Π½ΠΎΠ³Π°ΠΌ, Π²Π΅Π΄Ρ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π²ΡΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π ΡΡΡ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Server-Side Service Discovery.
Server-Side Service Discovery
ΠΡΠΈ Server-Side Service Discovery Π²Π°Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π΅ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ, Π° Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½Π°Π³ΡΡΠ·ΠΊΠΈ (load balancer):
Load balancer ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ: ΠΎΠ½ΠΈ Π΅ΡΡΡ Ρ Amazon, Ρ Azure ΠΈ Ρ. Π΄. Load balancer Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠΎΠΌΡ ΠΎΡΠ΄Π°ΡΡ Π²ΡΠ·ΠΎΠ², Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Π½Π΅ΡΡΠ½ΠΎ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ.
Π’ΡΡ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, service registry, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² β Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΡΠΎ, ΠΊΠ°ΠΊ ΠΈ Π³Π΄Π΅ Ρ Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ service registry ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π» Π²ΡΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Load balancer Π±Π΅ΡΠ΅Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ service registry. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π°Π΄Π°ΡΠ° load balancer β ΠΏΡΠΎΡΡΠΎ Π±ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ· service registry ΠΈ ΡΠ°ΡΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π½ΠΈΠΌ. Π Π·Π°Π΄Π°ΡΠ° service registry β Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΈ ΠΎΠ½ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ: ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΡΠ°ΠΌ, Π±ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° ΠΈ Ρ. Π΄. ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΌΠ°Π½Π΅Π²ΡΠΎΠ² Π·Π΄Π΅ΡΡ Π²ΠΈΠ΄ΠΈΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΈΠΌ.
Client-Side Service Discovery
Client-Side Service Discovery β Π΄ΡΡΠ³ΠΎΠΉ, ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠΉΡΡ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠ΄Π΅ΡΡ Π½Π΅Ρ load balancer, ΠΈ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ service registry, ΠΎΡΠΊΡΠ΄Π° Π±Π΅ΡΠ΅Ρ Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π§Π΅ΠΌ ΡΡΠΎ Π»ΡΡΡΠ΅? Π’Π΅ΠΌ, ΡΡΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ ΠΌΠ΅Π½ΡΡΠ΅ β ΡΠ°ΠΊ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π»ΡΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ β Π½ΠΎ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ Ρ Π²Π°Ρ Π΄ΠΎΠ²Π΅ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ β Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π²ΠΎ Π²ΡΠ΅Π΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ DDoS).
Π ΡΠ΅Π»ΠΎΠΌ Π² Service Discovery Π²ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ β ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡ? ΠΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ, Ρ ΠΎΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΡ ΡΠ΅ΡΠ°Π΅ΠΌ. Service instance A Π·Π½Π°Π΅Ρ, ΡΡΠΎ Π·Π° Π΄Π°Π½Π½ΡΠΌΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΠ΄ΡΠΈ ΠΊ service instance B, Π° Π΅ΡΠ»ΠΈ Π·Π°Π²ΡΡΠ° Ρ Π²Π°Ρ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ service instance B Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π±ΡΠΎΠΊΠ΅Ρ (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ), ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ.
Message Bus
Message Bus Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΡ Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΈ Π½ΡΠΆΠ½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅. Message Bus ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎ Message Bus Π·Π°ΠΏΡΠΎΡΡ requestβreply ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ . Message Bus (ΠΈ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ Publish/Subscribe) ΡΠ°Π·ΡΡΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Π΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ Π½Π΅ Π·Π½Π°ΡΡ, ΠΊΠΎΠΌΡ Π½ΡΠΆΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π΅ Π·Π½Π°ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½Π° Π±Π΅ΡΠ΅ΡΡΡ β Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
Π, ΠΊΠ°ΠΊ Π½ΠΈ ΡΡΠ°ΡΠ°ΠΉΡΡ, Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π²ΡΠ·ΠΎΠ² β Π±ΡΠΎΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²ΡΠ·ΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ. ΠΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΎΠΏΡΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΡ) ΡΠ΅ΡΠ΅Π· Message Bus Π½Π΅ ΡΡΠΎΠΈΡ. Message Bus β ΡΠ°Π±Π»ΠΎΠ½ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ; ΠΎΠ½ Π½ΡΠΆΠ΅Π½, ΡΡΠΎΠ±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ ΠΌΠΎΠ³ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΎΡΡ, ΡΡΠΎΠ±Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ³Π»ΠΈ Π½Π° ΡΡΠΎ ΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ.
Π ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π±Ρ Π³ΠΈΠ±ΡΠΈΠ΄Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. Π’ΠΎΠ³Π΄Π° Π²Ρ Π±Π΅ΡΠ΅ΡΠ΅ ΠΈ ΠΊΠΈΠ΄Π°Π΅ΡΠ΅ ΠΏΠΎ Message Bus ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΈ ΡΠ΅Π°Π³ΠΈΡΡΡΡ Π½Π° ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅, ΠΈΠ΄ΡΡ Π² registry, Π·Π°Π±ΠΈΡΠ°ΡΡ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΌΠ΅ΡΡΠΎ, ΠΊΡΠ΄Π° Π½Π°Π΄ΠΎ ΡΡ ΠΎΠ΄ΠΈΡΡ Π·Π° Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΈ ΡΠΆΠ΅ ΠΈΠ΄ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ. Π’Π°ΠΊ Π²Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ ΠΈ ΡΠ°Π·Π³ΡΡΠ·ΠΈΡΠ΅ Π²Π°ΡΡ ΡΠΈΠ½Ρ.
Message Bus: Β«Π·Π°Β» ΠΈ Β«ΠΏΡΠΎΡΠΈΠ²Β»
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° Message Bus:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Message Bus:
Event Driven Architecture β Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ
ΠΠΎΠ³Π΄Π° Π½Π°ΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Π² ΡΡΠΈΠ»Π΅ RPC, Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ: Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ, ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡ , Π½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ? ΠΡ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΊΡΠ΄Π° ΠΈΠ΄ΡΠΈ, β Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Π ΡΠΈΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ, Ρ Π½Π°Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΡΡΠ΅Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄ΡΡΠ³ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π·Π°ΠΊΠ°Π· (order), ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π»ΠΈΠΌΠΈΡΡ, Ρ ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ (customer service):
Π£ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΅ΡΡΡ Π΄Π²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 1
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π°, ΠΏΠΎΡΡΠ»Π°Π΅ΡΠ΅ Π² ΡΠΈΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΡΠ½ΠΎΡΡΠΈ:
Π‘Π΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ Π² ΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΡΡ , ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π° Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ:
ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈΠ»Π΅ΡΠ°Π΅Ρ Π² ΡΠ΅ΡΠ²ΠΈΡ Π·Π°ΠΊΠ°Π·ΠΎΠ², Π² ΡΠΈΠ½Ρ:
ΠΡΠ΅ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡΡ (eventual consistency). ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΎ Π½Π΅ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ, Π° Π·Π° ΡΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Message Bus. ΠΡΠΈ ΡΡΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΡΠΈΠ½ΠΎΠΉ β ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠ΅, ΠΈ ΡΠΈΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΡ Π²ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Π΄ΠΎ Π½Π°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π²ΡΠ΅ Π΄ΠΎΠ»Π΅ΡΠΈΡ (Π΅ΡΠ»ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ ΡΠ΅ΡΠΈΠΌ ΠΏΠΎΡΠΈΡΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π±ΡΠΎΠΊΠ΅ΡΠ° ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ).
ΠΡΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ACID, ΡΠ°ΠΊΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ BASE β Basically Available, Soft state, Eventual consistency, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ: ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π² ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ βsoft stateβ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 2
ΠΡΡΡ ΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±. ΠΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²Π°ΠΌ Π½Π΅ Ρ ΠΎΡΠ΅ΡΡΡ (ΠΈΠ»ΠΈ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π² ΡΠΈΠ»Ρ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ) ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ, Π²Π΅Π΄Ρ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ. Π ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π»Π°Π΄Π΅Π΅Ρ Π½Π΅ΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, β ΠΏΠΎ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΠΎΠΌΡ Π»ΠΈΠΌΠΈΡΡ, ΠΊΠ°ΠΊ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, β Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΠΎΠ³ΠΎ Π»ΠΈΠΌΠΈΡΠ° ΠΎΠΏΠΎΠ²Π΅ΡΠ°Π΅Ρ Π²ΡΠ΅Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΡ , ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ»Π°ΡΡ. Π‘Π΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΠΉ Π»ΠΈΠΌΠΈΡ, Π΅Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅Π±Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡ Π½ΡΠΆΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Ρ. Π΅. ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΠΌΡ Π½ΡΠΆΠ½Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΡ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠ°Π·.
ΠΠ΄Π΅ΡΡ ΡΠ½ΠΎΠ²Π° ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ: Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°ΠΊΠ°Π·, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΠΉ Π»ΠΈΠΌΠΈΡ ΠΈ ΡΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ. ΠΠΎ Ρ. ΠΊ. Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΠΉ Π»ΠΈΠΌΠΈΡ ΠΌΠΎΠ³ ΠΏΠΎΠΌΠ΅Π½ΡΡΡΡΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π·Π°ΠΊΠ°Π·Ρ, ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠ°ΡΠΈΠΈ β ΠΏΠΈΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ°ΠΊΠΈΠ΅ Π²Π½Π΅ΡΡΠ°ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ. Π ΡΡΠΎΠΌ Π²ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ β Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅ΡΠ΅, ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌ.
ΠΡΡΡ Π΅ΡΠ΅ ΠΈ ΡΡΠ΅ΡΠΈΠΉ, ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ β Event Sourcing. ΠΡΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ΅ΠΌΠ°, ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ. Π Event Sourcing Π²Ρ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² β Π²Ρ ΠΈΡ ΡΡΡΠΎΠΈΡΠ΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π° Ρ ΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ). ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΎ-ΡΠΎ Π² UI, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΊΠ°Π·. Π’ΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π°, Π½Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ: ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ? ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠ°ΡΠΈΠΈ β ΡΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ½Π°ΡΠ΅.
ΠΠΎΠΎΠ±ΡΠ΅, Message Bus β ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ΅ΠΌΠ°, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ Saga β ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ Π²ΠΎΡΠΊΡΠ»ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, NServiceBus ΠΈ MassTransit. Saga β ΠΏΠΎ ΡΡΡΠΈ, ΠΌΠ°ΡΠΈΠ½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π’. Ρ. Saga β Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ
Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ. ΠΡΠ°ΠΊ, Ρ Π²Π°Ρ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ. ΠΠ°ΠΊ ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ°ΡΡΠΈ?
ΠΡ Π²ΡΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ Π½Π΅ΡΡΠΎ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ΅ (ΡΠΎ, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ Π² DDD). ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ β ΡΠ°ΡΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π½Π΅Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΠ³ΠΎΠ΄Ρ ΠΎΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΡΠΈΠ° β Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΡΠ°ΡΡΠΎ. Π’Π°ΠΊΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΡΠΎ, ΡΡΠΎ Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Ρ Π²Π°Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΅Π΄Ρ Π΅ΡΡΡ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°ΠΊΠΎΠ½ ΠΠΎΠ½Π²Π΅Ρ (Conway’s law), ΠΊΠΎΡΠΎΡΡΠΉ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΡ , ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ feature-ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°Π²ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΡ Π½Π°ΡΠ°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΠ΅Π΄ΠΊΠΎ Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Ρ Π½Π°Ρ ΡΠΈΡΡΠ°Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π΅ΡΡΠΎ ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠΌ ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. ΠΠ±ΡΡΠ½ΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΠΎΠΆΠΈΠ²ΡΠΈΠΉΡΡ ΠΊΠΎΠ΄, ΠΈ ΠΌΡ ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρ ΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠ°ΡΠΏΡΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΡΡ ΠΎΡ Π½Π΅Π³ΠΎ ΡΠ°ΡΡΠΈ.
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π½ΡΠ»Ρ, Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ β ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ?
ΠΠΎΠ½ΠΎΠ»ΠΈΡ Π»ΡΡΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ :
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ:
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ: Β«Π·Π°Β» ΠΈ Β«ΠΏΡΠΎΡΠΈΠ²Β»
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΈΡΠΎΠΊΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π½Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ZooKeeper, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π° Π½Π°Ρ. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠΈΠΏΠ° Logstash, Kibana, Elastic, Serilog, Amazon Cloud Watch. ΠΡΠ΅ ΠΎΠ½ΠΈ ΡΠ»Π΅Π΄ΡΡ Π·Π° Π²Π°ΡΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ.
ΠΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ? Π― Π²ΠΈΠΆΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π£ Π²Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΡΠ°Π΅Ρ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΡ. ΠΠ°ΡΠ° ΡΠ΅Π»Ρ β ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ β ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠΎ β Π½ΠΈΠ· ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ. Π’ΡΡ Ρ Π²Π°Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΠΏ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π½Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Swagger, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ.
ΠΠ°Π½ΠΈΡΠ΅ΡΡ ΠΠΆΠ΅ΡΡΠ° ΠΠ΅Π·ΠΎΡΠ° (Amazon CEO)
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΠΏΡΠΈΠ²Π΅Π΄Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ β Amazon.
ΠΡΠ΅ Π½Π°ΡΠ°Π»ΠΎΡΡ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² 2000 Π³. ΠΠΆΠ΅ΡΡ ΠΠ΅Π·ΠΎΡ, Π³Π»Π°Π²Π° Amazon, Π½Π°ΠΏΠΈΡΠ°Π» Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΠΎΠ² ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ:
ΠΠΊΡΠ°ΡΡΠ΅, ΡΡΡΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΡΠ°ΠΊΠΎΠ²Π°: Β«ΠΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΡΠΆΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠΎΠΌΠ°Π½Π΄Ρ (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ β ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ) Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²: Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Ρ. Π΄. β Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ Π±Π΅Π· ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΠΆΠ΅ΡΡ ΠΎΠ±ΡΠ·Π°Π» Π²ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π±ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΌΠΈ, ΡΡΠΎ ΠΈΡ Π²ΡΡΡΠ°Π²ΡΡ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΡΠ»ΡΠ³Ρ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡ. ΠΡΠΎ ΡΡΠ°Π»ΠΎ Π·Π°Π»ΠΎΠ³ΠΎΠΌ ΡΡΠΏΠ΅Ρ Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΡ Π·Π½Π°Π΅ΠΌ, ΠΊ ΡΠ΅ΠΌΡ Π² ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈΠ²Π΅Π» ΡΡΠΎΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ β ΠΊ ΡΠ΅Π»ΠΎΠΉ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ Amazon ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ Π²ΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ AWS.