ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ Π½ΡΠ»Ρ. ΠΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡΡ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ Π½Π° ΡΠ°Π±ΠΎΡΡ. ΠΠΎΡΡΠΈ Π³ΠΎΠ΄ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ ΡΠ°Π±ΠΎΡΡ (ΡΠΊΠΎΡΠ΅Π΅ Π΄ΠΆΡΠ½, ΡΡΡΠ΄ΠΎΠ²Π°Ρ ΠΏΡΡΡΠ°Ρ, Π΅ΡΡΡ Π½Π΅ ΠΌΠ°Π»ΠΎ ΠΎΠΏΡΡΠ° ΡΡΠΈΠ»Π°Π½ΡΠ° Π±Π΅Π· Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΡΠ°ΡΡΠ°ΠΏΡ). Π£ΠΆΠ΅ 3 ΠΌΠ΅ΡΡΡΠ° Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ/ΡΠ΅ΡΡΠΎΠ²ΡΡ
, Π½Π΅ ΡΠΈΡΠ°ΡΡ/ΡΠΈΡΠ°ΡΡ ΠΈ ΠΌΠΎΠ»ΡΠ°Ρ Π΄ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² Π°ΡΡ
ΠΈΠ²/ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡ. ΠΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΡΡΠ½ΠΎΠ΅ ΡΠ΅Π·ΡΠΌΠ΅ https://dropmefiles.com/GWhAT (ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ). ΠΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π² ΡΡΠ΅ΡΠ΅ Π²Π΅Π± Π±ΡΠΊΠ΅Π½Π΄ (.NET C#): ΠΊΡΡΠ΄Ρ, Π»Π΅Π³Π°ΡΠΈ, Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, WEB API, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π‘Π£ΠΠ ΠΈ ΠΏΡΠΎΡΠΈΠΌΠΈ ΠΠ, Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ, ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ELK, K8s ΠΈ Ρ.Π΄. ΠΠ΅ ΠΏΡΠΎΡΠΈΠ² ΡΡΠ»ΡΡΠ΅ΠΊΠ°, Π΄ΡΡΠ³ΠΈΡ
Π―Π/ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²/ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΡΠ»ΠΈ Π²ΡΡ ΠΏΠ»ΠΎΡ
ΠΎ, ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌ Π²Π°ΡΠΈΠ°Π½Ρ Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π΅ΡΠΊΡΠΎΠΏΠΎΠΌ. Π― Π΄ΡΠΌΠ°Ρ, ΠΌΠ½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, Π½Π΅ Π΄Π°Π²Π½ΠΎ ΡΠΌΠ΅Π½ΠΈΠ²ΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠΉ Π·ΠΏ 130ΠΊ+ (ΠΌΠΈΠ΄Π»). Π£Π²Ρ, Ρ Π±ΡΠ΄Ρ ΠΏΡΠΎΡΠΈΡΡ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°. Π‘ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Ρ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π½Π° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π² Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π°. Π― ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π» Ρ ΠΎΠΏΡΡΠΎΠΌ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ, ΡΠΊΡΠ°ΡΠΈΠ²Π°Π» ΡΠ΅Π·ΡΠΌΠ΅, Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ. Π‘ΠΎΠ²Π΅ΡΡ ΠΏΡΠΎΠ³Π½Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΠ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ, ΠΎΠ½ Ρ
ΡΠ΅Π½Ρ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠΈΡΠ΅Ρ. Π’ΠΎ Π½Π° ΠΌΠΈΠ΄Π»Π°/Π΄ΠΆΡΠ½Π° ΠΌΠ°Π»ΠΎ ΠΎΠΏΡΡΠ°, ΡΠΎ Π½Π° Π΄ΠΆΡΠ½Π°/ΡΡΠ°ΠΆΠ΅ΡΠ° ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ°. ΠΠ° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ΅ΠΊ ΠΏΠΎΡΡΠΈ Π½Π΅ Π±ΡΠ²Π°Π»ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ΅Π°ΠΊΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΠ΅ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ Π±ΡΠΊΠ΅Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π½ΡΠ΅Ρ ΠΌΠ½Π΅ ΡΠΊΠ°Π·Π°Π» ΡΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠ΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΡΠΎΠΊ Π² Π‘Π£ΠΠ (ΠΏΡΠΈ read commited Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ); Ρ ΡΡΠΎΠΌΡ Π½Π°ΡΡΠΈΠ»ΡΡ (ΡΠ°Π½Π΅Π΅ Π² ΡΡΠ°ΡΡΠ°ΠΏΠ°Ρ
/ΠΏΡΠΎΠ΄Π΅ ΡΠ°ΠΊΠΈΠΌ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ), Π·Π°Π±Π°Π±Π°Ρ
Π°Π» ΠΏΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π» ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Π±Π΅Π· Π΄Π΅Π΄Π»ΠΎΠΊΠΎΠ², Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π²ΡΠΎΠ΄Π΅ Π±Ρ ΠΏΠΎ ΠΊΡΠ°ΡΠΎΡΠ΅ Π²ΡΡ, ΠΈ ΠΌΠ½Π΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΎ ΡΡΠΎ Π²ΡΡ ΡΠΈΠ³Π½Ρ ΠΈ Π±ΡΠ΅Π΄, Π½ΠΈΠΊΡΠΎ ΡΠ°ΠΊ Π½Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ, Π½Π° Π΄Π΅Π΄Π»ΠΎΠΊΠΈ Π²ΡΠ΅ΠΌ ΠΏΠΎΡΠΈΠ³, raw sql ΠΏΡΠΎΡΡΡΠ½Ρ Ρ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π½Π΅ ΠΏΠΈΡΡΡ, Ρ
ΡΠ΅Π½Π°ΡΠ°Ρ SERIALIZABLE ΠΈ ΡΠ·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ EF Core LINQ; Π½Ρ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½Π΅ advisory locks Π² Π‘Π£ΠΠ) ΡΡΠΎΠ±Ρ Π‘Π£ΠΠ Π½Π΅ Π·Π°Ρ
Π»Π΅Π±ΡΠ²Π°Π»Π°ΡΡ. ΠΠ°ΠΊ ΡΠ°ΠΌ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π° ΠΏΡΠΎΠ΄Π°Ρ
? Π§ΡΠΎ ΠΌΠ½Π΅ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ? ΠΡΠ΄ΡΡ Π»ΠΈ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ? (ΠΠ΄Π½Π°ΠΆΠ΄Ρ Π±ΡΠ» Π½Π° ΡΠΎΠ±Π΅ΡΠ΅ Π½Π° 80ΠΊ/ΠΌΠ΅Ρ Ρ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠΌ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π·Π°Π΄Π°Π²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΡΠΎ ΠΠΠ/SOLID ΠΈ Π³Π΄Π΅ ΡΠ°ΠΌ JWT ΡΠΎΠΊΠ΅Π½ Π² HTTP Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π»Π΅ΠΆΠ°ΡΡ. Π‘ΠΊΠ°Π·Π°Π»ΠΈ ΡΡΠΎ Ρ Π² Π’ΠΠ-3 ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ² ΠΏΠΎΠΏΠ°Π», ΠΏΠΎΠΌΠ½Ρ ΡΡΠΎ Π½Π΅ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ Π±ΡΠ» Π½Π° ΠΠΠ Π²ΠΎΠΏΡΠΎΡΠ°Ρ
). ΠΠΎ Saga, 2PC ΡΠ΅ΠΎΡΠΈΡ Π·Π½Π°Ρ ΠΈ ΠΌΠΎΠ³Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ, Π½ΠΎ ΠΌΠ½Π΅ ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π» Ρ 3 Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠΏΡΡΠ° Π² ΡΠ°Π·Π½ΡΡ
ΠΌΠ΅ΡΡΠ°Ρ
ΡΠΊΠ°Π·Π°Π» ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°ΡΡ. ΠΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΊΠ°ΠΊ Π΄Π΅Π»Π° ΠΎΠ±ΡΡΠΎΡΡ? ΠΡΠΎ ΡΠΎΠΆΠ΅ Π½Π°Π²Π΅ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Ρ ΠΌΠ΅Π½Ρ Π² Π»Π΅Π³Π΅Π½Π΄Π΅? ΠΡΠ΅ ΠΌΠ½Π΅ Π½Π°Π²Π΅ΡΠ½ΠΎ Π½ΡΠΆΠ½Π° Π»Π΅Π³Π΅Π½Π΄Π° ΠΏΠΎ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ/Ρ
ΠΎΡΠ΅ΠΎΠ³ΡΠ°ΡΠΈΠΈ, rabbitmq/kafka? ΠΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΎΡΠΈΠΈ Π·Π½Π°Ρ ΠΈ ΠΌΠΎΠ³Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ, Π½ΠΎ Π½Π΅ Π·Π½Π°Ρ ΠΊΠ°ΠΊ Π½Π° ΠΏΡΠΎΠ΄Π°Ρ
Π΄Π΅Π»Π°ΡΡ. Π§ΡΠΎ ΡΠ°ΠΌ ΠΏΡΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΡΠ²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π² Π‘Π£ΠΠ Π±Π°ΡΡΠ΅ΠΌ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΡΠΎΠΊ?.