Π‘ΡΠ±ΠΈΡΠΈΡΡΠ° ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π΄Π½ΠΈ Π½ΠΈ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π°Ρ Π΄Π° ΠΈΠ·ΡΠ°Π·ΠΈΠΌ Π½Π°ΡΠ°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π½ΠΎΠ²ΠΈΠ½ΠΈΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Nginx. ΠΠΈΠ΅ ΠΎΡ Yandex Π²ΡΡΠ²Π°ΠΌΠ΅, ΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ΅Π½ Π±Π΅Π· ΠΊΡΠ»ΡΡΡΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈ Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠ°Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠΈ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄.
ΠΡΠ΅ΡΠ΅Π½Π΅ΡΠ΅ ΡΠ°ΠΌΠΈ: Π²ΡΠΈΡΠΊΠΈ Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π±ΡΠ°ΡΠ·ΡΡΠΈ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΎΡ ΡΡΡΠ²ΡΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄. ΠΡΠ²ΠΎΡΠ΅Π½ΠΎΡΡΡΠ° Π½Π΅ Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, Π½ΠΎ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π΅ Π΅Π΄Π½ΠΎ ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅. ΠΡΡΡΠ½ΠΎΡΡ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡ Π°, Π·Π°ΡΠΎΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ ΡΡΠ» ββΡΠ²ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ°Ρ ΡΠ΅Ρ Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ°Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ°, Π±ΡΡΠ·ΠΈΠ½Π°ΡΠ° ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½ ΠΎΡ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈ ΠΏΠΎ ΡΠ΅Π»ΠΈΡ ΡΠ²ΡΡ.
Π‘ΠΎΡΡΡΠ΅ΡΡΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π² ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠΈ - ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΠΎΠ²Π° Π΅ Π½Π°Ρ Π°Π»Π΅Π½ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄, ΠΊΠΎΠΉΡΠΎ ΠΏΠΈΡΠ΅ ΠΊΠΎΠ΄ Π·Π° Π·Π°Π±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ Π΄ΠΎΠΌΠ°, Π° ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π΅ Π΄Π΅Π»ΠΎ Π½Π° ΡΡΠ»Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° ΠΎΡΠ²ΠΎΡΠ΅Π½. ΠΠΎ Π΄ΠΎΡΠΈ ΠΈ Π²ΡΠ² Π²ΡΠΎΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π²ΠΈΠ½Π°Π³ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΈ Π½Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π΅ΠΊΠΈΠΏ, Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠΎΠ²Π΅ΠΊ, Π»ΠΈΠ΄Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ·Π΄Π°Π²Π° ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ Π²ΡΠ΅ΠΊΠΈ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Linux Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ. ΠΠΈΠΊΠ°Π΅Π» ΠΠΈΠ΄Π΅Π½ΠΈΡΡ ΡΡΠ·Π΄Π°Π΄Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ MySQL ΡΡΠ΅Π΄ ΡΠ΅Π± ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, Π° ΠΠ°ΠΉΠΊΡΠ» Π‘ΡΠΎΡΠ½Π±ΡΠ΅ΠΉΠΊΡΡ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΡ Π΅ΠΊΠΈΠΏ ΠΎΡ ΠΡΡΠΊΠ»ΠΈ ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π° PostgreSQL. Π Google ΠΠΆΠ΅Ρ ΠΠΈΠΉΠ½ ΡΡΠ·Π΄Π°Π΄Π΅ TensorFlow. Yandex ΡΡΡΠΎ ΠΈΠΌΠ° ΡΠ°ΠΊΠΈΠ²Π° ΠΏΡΠΈΠΌΠ΅ΡΠΈ: ΠΠ½Π΄ΡΠ΅ΠΉ ΠΡΠ»ΠΈΠ½ ΠΈ ΠΠ½Π½Π° ΠΠ΅ΡΠΎΠ½ΠΈΠΊΠ° ΠΠΎΡΠΎΠ³ΡΡ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π° ΠΏΡΡΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° CatBoost, ΠΈ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΈΠ»ΠΎΠ²ΠΈΠ΄ΠΎΠ², ΠΊΠΎΠΉΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ClickHouse ΠΈ ΡΡΠ±ΡΠ° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌΠ΅, ΡΠ΅ ΡΠ΅Π·ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π³Π° ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π½Π° ΠΎΠ³ΡΠΎΠΌΠ½Π° ΠΎΠ±ΡΠ½ΠΎΡΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΡΡΠ³ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° Π½Π°ΡΠ°ΡΠ° ΠΎΠ±ΡΠ° Π³ΠΎΡΠ΄ΠΎΡΡ Π΅ Nginx, ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΠΠ³ΠΎΡ Π‘ΠΈΡΠΎΠ΅Π², ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π΅ Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΡ ΡΡΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄. ΠΠ½Π΅Ρ Nginx ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 30% ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² ΡΠ΅Π»ΠΈΡ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
Π‘ΠΎΡΡΡΠ΅ΡΡΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΏΠ΅ΡΠ°Π»Π±Π°. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±ΠΈΠ·Π½Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ RedHat, ΠΊΠΎΡΡΠΎ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΠΎΠ³ΡΠΎΠΌΠ½Π° ΠΏΡΠ±Π»ΠΈΡΠ½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ°ΡΠ° Π½Π° ΡΠ²ΠΎΡΡΠ° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ Π½Π° Linux, ΠΈΠ»ΠΈ ΡΡΡΠ°ΡΠ° MySQL AB, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ ΠΏΠ»Π°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ MySQL. ΠΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ Π² ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π΅ Π΅ Π±ΠΈΠ·Π½Π΅ΡΡΡ, Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ»Π΅Π½ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΎΡ ΡΠ΅Π»ΠΈΡ ΡΠ²ΡΡ.
ΠΡΠ²ΠΎΡΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° Π±ΡΡΠ·ΠΎΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅. ΠΠ°ΠΆΠ½ΠΎ Π΅ ΡΠΈΡΠΎΠΊ ΠΊΡΡΠ³ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ ΠΌΠΎΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ Π΄Π° ΠΊΠ°ΡΠ²Π°Ρ ΡΠ²ΠΎΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Π΄Π° ΡΠ΅ΡΠ°Π²Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΡΠ΅ΡΠ»Π΅Π΄Π²Π°Π½Π΅ΡΠΎ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΡΠΎ ΠΏΠΎΡΠ»Π°Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΊΠ°ΡΠ° ΠΎΠ±ΡΠ½ΠΎΡΡ. ΠΠΈΠ΅ ΡΠΌΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ±Π΅Π΄Π΅Π½ΠΈ, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΡΡ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com