ΠΡΠΈΠ²Π΅Ρ, Π₯Π°Π±Ρ! ΠΡ Π² Badoo Π°ΠΊΡΠΈΠ²Π½ΠΎ
ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ PHP ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΠ»ΡΡ Π²ΠΏΠ΅ΡΡΠ΄: ΡΠ»ΡΡΡΠΈΠ»ΡΡ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, ΠΏΠΎΠ²ΡΡΠΈΠ»ΡΡ ΡΡΠΎΠ²Π΅Π½Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ β ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π° PHP ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΠΎΡΠΎΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π΄Π΅ΠΌΠΎΠ½Ρ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Spiral Scout ΠΏΠΎΠΉΡΠΈ Π΄Π°Π»ΡΡΠ΅: RoadRunner, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ PHP-FPM, Π½Π΅ ΠΎΡΠΈΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ, ΡΡΠΎ Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΠΈΠ³ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (Ρ ΠΎΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈ Β ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ). ΠΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ Ρ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, Π½ΠΎ Ρ Π½Π°Ρ ΠΏΠΎΠΊΠ° Π½Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ. Π§ΡΠΎΠ±Ρ ΠΆΠ΄Π°ΡΡ ΠΈΡ Π±ΡΠ»ΠΎ Π²Π΅ΡΠ΅Π»Π΅Π΅, ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π°Π½ΠΎΠ½ΡΠ° RoadRunner ΠΎΡ Spiral Scout.
ΠΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠ· ΡΡΠ°ΡΡΠΈ Π½Π°ΠΌ Π±Π»ΠΈΠ·ΠΎΠΊ: ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΈΡ Π·Π°Π΄Π°Ρ ΠΌΡ ΡΠΎΠΆΠ΅ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ²ΡΠ·ΠΊΡ PHP ΠΈ Go, ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΡ ΠΎΠ±ΠΎΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΈ Π½Π΅ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°
ΠΠΎΡΡΠΈ ΡΡΠ°Π·Ρ ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ, ΡΡΠΎ Go ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎ 40 ΡΠ°Π·. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ ΠΌΡ ΡΠΌΠΎΠ³Π»ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° PHP, ΡΠ»ΡΡΡΠ°Ρ ΠΈΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΎΠ±ΠΎΠΈΡ ΡΠ·ΡΠΊΠΎΠ².
ΠΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ²ΡΠ·ΠΊΠ° Go ΠΈ PHP ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΅ΡΠ°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»Π°ΡΡ Π΄Π»Ρ Π½Π°Ρ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΠΈΠ·Π±Π°Π²ΠΈΡΡ ΠΎΡ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ
ΠΠ°ΡΠ° ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½Π°Ρ ΡΡΠ΅Π΄Π° PHP-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Go ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ²ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Β«ΡΠΌΠΈΡΠ°Π½ΠΈΡΒ» PHP, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ PHP-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° nginx ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° PHP-FPM. ΠΠ΅ΡΠ²ΡΠΉ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π² PHP-FPM ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Π° ΡΠ°ΠΌ PHP-FPM ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ PHP-ΠΊΠΎΠ΄. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ²ΡΠ·ΠΊΡ ΠΈΠ· Apache ΠΈ mod_php. ΠΠΎ Ρ ΠΎΡΡ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΡΡ ΠΈΠ½Π°ΡΠ΅, ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ΅ ΠΆΠ΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ PHP-FPM ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π·Π°ΠΏΡΠΎΡ, PHP-FPM ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ PHP-ΠΏΡΠΎΡΠ΅ΡΡ, Π° Π΄Π΅ΡΠ°Π»ΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (_GET, _POST, _SERVER ΠΈ Ρ. Π΄.).
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ Π² Ρ ΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ PHP-ΡΠΊΡΠΈΠΏΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ: ΠΎΡΠΈΡΡΠΈΠ² ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² Π΅Π³ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ.
Π£ ΡΠ°ΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ². ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Ρ, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Β«ΡΠΌΠΈΡΠ°Π΅ΡΒ», ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π½ ΠΈ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π·Π°ΡΡΠΎΠ½Π΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ. ΠΠΎ Π΅ΡΡΡ Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ PHP-ΡΡΠ΅Π΄Ρ
ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π½Π° PHP, ΡΠΎ Π·Π½Π°Π΅ΡΠ΅, Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, β Ρ Π²ΡΠ±ΠΎΡΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ORMβΡ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ. Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π²ΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ (Symfony/HttpFoundation ΠΈΠ»ΠΈ PSR-7). Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ β ΡΡΠΎ ΠΊΠ»ΡΠ²ΠΎ!
ΠΠΎ Ρ Π²ΡΠ΅Π³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΡ ΡΠ΅Π½Π°. Π Π»ΡΠ±ΠΎΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ ΡΠ½ΡΠ΅ΡΠΏΡΠ°ΠΉΠ·-ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ ΠΏΡΠΈΠ΄ΡΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΠ°ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ. ΠΠΎ Ρ ΡΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΡ ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈ Π½Π°ΡΠ°ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ: Π²Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½, Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ Π²Ρ ΡΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ. Π‘ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π»ΡΠ±ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΈΡΠ΅Ρ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, β ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅Π΄ΠΎΡΠΌΠ΅Π½ΠΈΠ΅ Π½Π° Π΅Π³ΠΎ Π»ΠΈΡΠ΅.
PHP-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΈΡΠΊΠ°Π»ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ Β«Π»Π΅Π½ΠΈΠ²ΠΎΠΉΒ» Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΌΠΈΠΊΡΠΎΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠ΅Ρ ΠΈ Ρ. Π΄. ΠΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ½Π°ΡΠ°Π»Π°, ΠΎΠΏΡΡΡ ΠΈ ΠΎΠΏΡΡΡ. (ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π½Π° Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ
ΠΠΎΠΆΠ΅Ρ Π»ΠΈ PHP Ρ ΠΏΠΎΠΌΠΎΡΡΡ Go ΠΏΠ΅ΡΠ΅ΠΆΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°?
ΠΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ PHP-ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΆΠΈΠ²ΡΡ Π΄ΠΎΠ»ΡΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠΈΠ½ΡΡ (Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΡΠ°ΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π½Π΅ΠΉ): Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, cron-Π·Π°Π΄Π°ΡΠΈ, CSV-ΠΏΠ°ΡΡΠ΅ΡΡ, ΡΠ°Π·Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. ΠΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ: ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ, ΠΆΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅. ΠΠΎΠ΄ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΊΠΎΠ½ΠΎΠΌΡ Π΄ΡΠ°Π³ΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ±Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ±ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ, Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΡ Π΄ΠΎ Π±Π΅ΡΠ΅Π½ΡΡΠ²Π°, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΠΎ F5 ΡΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ.
Π‘ΠΈΡΡΠ°ΡΠΈΡ ΡΠ»ΡΡΡΠΈΠ»Π°ΡΡ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ PHP 7: ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½Π°Π΄ΡΠΆΠ½ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, ΡΡΠ°Π»ΠΎ Π»Π΅Π³ΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ΄ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΡΠΈΡΠ΅Π½Ρ ΠΎΡ ΡΡΠ΅ΡΠ΅ΠΊ. ΠΡΠ°Π²Π΄Π°, ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ Π²ΡΡ Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ (Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΠ·ΡΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠ΄Π΅Π»ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΈΠΌ Π²Π΅ΡΠ°ΠΌ?). Π Π²ΡΡ ΠΆΠ΅ Π² PHP 7 Π½Π°Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ΅Π³Π°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡΠ΅ΠΉ.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π²Π·ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΠΌΠΈ PHP-ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ, Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Ρ ΠΏΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π²ΡΠΎΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π²ΡΡ Ρ Π½ΡΠ»Ρ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅?
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ HTTP-Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ PHP-Π²ΠΎΡΠΊΠ΅ΡΡ, Π½Π΅ ΡΠ±ΠΈΠ²Π°Ρ Π΅Π³ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·.
ΠΡ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ ΡΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΡΠΈΡΡΠΎΠΌ PHP (PHP-PM) ΠΈΠ»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π‘-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (Swoole). Π Ρ ΠΎΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°, ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π½Π°Ρ Π½Π΅ ΡΡΡΡΠ°ΠΈΠ²Π°Π»ΠΈ β Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ΅Π³ΠΎ-ΡΠΎ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ. ΠΡΠΆΠ΅Π½ Π±ΡΠ» Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ β ΠΌΡ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ·Π±Π°Π²ΠΈΡΡ Π½Π°Ρ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Β«ΡΡΠΆΡΠ»ΡΠΌ ΡΡΠ°ΡΡΠΎΠΌΒ» Π² PHP, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’ΠΎ Π΅ΡΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π±ΡΠ» ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠΆΠ΅Ρ Π»ΠΈ Go ΠΏΠΎΠΌΠΎΡΡ Π² ΡΡΠΎΠΌ? ΠΡ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎΡ ΡΠ·ΡΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ; ΠΎΠ½ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ, ΠΎΡΠ΅Π½Ρ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΡ, ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ (concurrency) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ HTTP; ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π½Π°ΠΌ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΡΡΡΡΠΈ open-source-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ.
Π’ΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊ Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ
ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄: ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΎΠΊΠ΅ΡΡ/ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΡ Π΄ΠΎΠΊΠ°Π·Π°Π» ΡΠ²ΠΎΡ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΠΈ Π±ΡΠ» Ρ ΠΎΡΠΎΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ. Π ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΡΠΎΡΠΌΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΠΎΡ
ΠΎΠΆ Π½Π°
ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ PHP ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ
ΠΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π½Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΠΌΠ°Π»ΠΎ β ΠΈ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ
Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ PHP-Π²ΠΎΡΠΊΠ΅ΡΠ°ΠΌ
ΠΠΎΡΠ»Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΡ ΡΡΠ°Π»ΠΈ Π΄ΡΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ PHP-ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π·Π°Π΄Π°ΡΠ°, ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π»Ρ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ Π²ΠΎΡΠΊΠ΅Ρ. ΠΡΠ»ΠΈ Π²ΠΎΡΠΊΠ΅Ρ/ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠΈΠ» ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΈΠ»ΠΈ Β«ΡΠΌΠ΅ΡΒ», ΠΌΡ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅ΠΌΡΡ ΠΎΡ Π½Π΅Π³ΠΎ ΠΈ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ Π²Π·Π°ΠΌΠ΅Π½. Π Π΅ΡΠ»ΠΈ Π²ΠΎΡΠΊΠ΅Ρ/ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π» ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΡΠ» Π²ΠΎΡΠΊΠ΅ΡΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ.
ΠΠ»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠ»Π° Π°ΠΊΡΠΈΠ²Π½ΡΡ
Π²ΠΎΡΠΊΠ΅ΡΠΎΠ² ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ PHP-ΡΠ΅ΡΠ²Π΅Ρ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΡΠΈΡΠ»ΠΎΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π½Π°Π΄ΡΠΆΠ½ΡΠΉ PHP-ΡΡΠ°Π½Π΄Π°ΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ
Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ². Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ PSR-7 ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ (ΠΊΡΠΎ-ΡΠΎ ΡΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ), ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΊ Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΡΡ. ΠΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΡ PHP-ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ°ΡΠ° ΡΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΡ, Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° ΡΠ°ΠΊ:
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ RoadRunner β Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ PHP-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΡΡΠ°Π» API-Π±Π΅ΠΊΠ΅Π½Π΄, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ Π²ΡΠΏΠ»Π΅ΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² (Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ°ΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ). Π₯ΠΎΡΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ nginx Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΠΌΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ 502, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΠ»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² Π½Π°ΡΠ°Π»Π΅ 2018 Π³ΠΎΠ΄Π° ΠΌΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ»ΠΈ Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ PHP/Go-ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΡΡΠ°Π·Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ! ΠΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΎΡ ΠΎΡΠΈΠ±ΠΊΠΈ 502, Π½ΠΎ Π΅ΡΡ ΠΈ ΡΠΌΠΎΠ³Π»ΠΈ Π½Π° Π΄Π²Π΅ ΡΡΠ΅ΡΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΠ² ΠΊΡΡΡ Π΄Π΅Π½Π΅Π³ ΠΈ ΡΠ°Π±Π»Π΅ΡΠΎΠΊ ΠΎΡ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π±ΠΎΠ»ΠΈ Π΄Π»Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ².
Π ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π³ΠΎΠ΄Π° ΠΌΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π½Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ Π½Π° GitHub ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT ΠΈ Π½Π°Π·Π²Π°Π»ΠΈ
ΠΠ°ΠΊ RoadRunner ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ Π²Π°Ρ ΡΡΠ΅ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌΡ RPC ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΠ²Π°ΡΡ API Π»ΡΠ±ΡΡ
Go-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ PHP Π±Π΅Π· Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΡΠ΅Π½ΡΠ΅Π½ΠΎΠ²-ΠΎΠ±ΡΡΡΠΎΠΊ. Π§ΡΠΎ Π΅ΡΡ Π²Π°ΠΆΠ½Π΅Π΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ RoadRunner ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΎΡ HTTP. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π·Π°ΠΏΡΡΠΊ Π² PHP ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² PHP ΠΈ Go ΠΌΡ ΠΏΠΎΠ²ΡΡΠΈΠ»ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΡΠ°Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎ 40 ΡΠ°Π·, ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ Symfony ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ HTTPS, HTTP/2, ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ PSR-17.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ Π΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ PHP ΠΊΠ°ΠΊ ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΏΠΎΠ΄ WordPress. ΠΡΠΈ Π»ΡΠ΄ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Ρ PHP Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅: ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Β«Π·ΡΠ΅Π»ΡΠΉΒ» ΡΠ·ΡΠΊ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π°ΠΊΠΎΠΏΠΈΠ²ΡΡΡΡΡ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ Π±Π°Π·Ρ ΠΊΠΎΠ΄Π°.
ΠΠ° Π²ΡΡ ΡΡΠΎ Ρ ΠΎΡΠ΅ΡΡΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ: ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ Π΅ΡΡ ΡΠ°Π·. ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠ°ΠΌΠΈ Π·Π°Π΄Π°ΡΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ PHP. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π²ΡΡ ΠΆΠΈΠ·Π½Ρ Π½Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ, ΠΏΡΡΠ°ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ·ΡΠΊΠΈ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΠ½ΠΈΠΌΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠ·ΡΠΊΠ° Π²ΡΠΎΠ΄Π΅ PHP Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌΠΈ Π΅Π³ΠΎ ΡΡΠΏΠ΅Ρ Π°. Π Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π³ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π²ΡΠΎΠ΄Π΅ Go, ΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ, ΡΠ΅ΠΌ Π΅ΡΠ»ΠΈ Π±Ρ Π²Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
ΠΠΎΡΠ°Π±ΠΎΡΠ°Π² ΡΠΎ ΡΠ²ΡΠ·ΠΊΠΎΠΉ Go ΠΈ PHP, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ±ΠΈΠ»ΠΈ ΠΈΡ . ΠΡ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ β Π½Π°ΠΏΡΠΎΡΠΈΠ², Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΊΠ°ΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ°.
UPD: ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ RoadRunner ΠΈ ΡΠΎΠ°Π²ΡΠΎΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ β
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com