RoadRunner: PHP Π½Π΅ Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π·Π° Π΄Π° ΡƒΠΌΡ€Π΅, ΠΈΠ»ΠΈ Golang Π·Π° спас

RoadRunner: PHP Π½Π΅ Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π·Π° Π΄Π° ΡƒΠΌΡ€Π΅, ΠΈΠ»ΠΈ Golang Π·Π° спас

Π—Π΄Ρ€Π°Π²ΠΎ, Π₯Π°Π±Ρ€! Активни смС Π²ΠΎ Badoo Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° PHP пСрформанси, бидСјќи ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Π³ΠΎΠ»Π΅ΠΌ систСм Π½Π° овој јазик ΠΈ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅Ρ‚ΠΎ Π·Π° пСрформанситС Π΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅ Π½Π° Π·Π°ΡˆΡ‚Π΅Π΄Π° Π½Π° ΠΏΠ°Ρ€ΠΈ. ΠŸΡ€Π΅Π΄ повСќС ΠΎΠ΄ дСсСт Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΊΡ€Π΅ΠΈΡ€Π°Π²ΠΌΠ΅ PHP-FPM Π·Π° ΠΎΠ²Π°, кој Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ бСшС Π·Π±ΠΈΡ€ Π½Π° Π·Π°ΠΊΡ€ΠΏΠΈ Π·Π° PHP, Π° ΠΏΠΎΠ΄ΠΎΡ†Π½Π° стана Π΄Π΅Π» ΠΎΠ΄ ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½Π°Ρ‚Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°.

Π’ΠΎ послСднивС Π³ΠΎΠ΄ΠΈΠ½ΠΈ, PHP постигна Π³ΠΎΠ»Π΅ΠΌ Π½Π°ΠΏΡ€Π΅Π΄ΠΎΠΊ: собирачот Π½Π° Ρ“ΡƒΠ±Ρ€Π΅ сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ, Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° стабилност сС Π·Π³ΠΎΠ»Π΅ΠΌΠΈ - дСнСс ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ Π΄Π΅ΠΌΠΎΠ½ΠΈ ΠΈ Π΄ΠΎΠ»Π³ΠΎΡ‚Ρ€Π°Ρ˜Π½ΠΈ скрипти Π²ΠΎ PHP Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Ова ΠΌΡƒ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π½Π° Spiral Scout Π΄Π° ΠΎΠ΄ΠΈ ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΡƒ: RoadRunner, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ PHP-FPM, Π½Π΅ ја чисти ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π°, ΡˆΡ‚ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π΅Π΄Π±Π°Ρ‚Π° (ΠΈΠ°ΠΊΠΎ овој пристап Π³ΠΎ ΠΊΠΎΠΌΠΏΠ»ΠΈΡ†ΠΈΡ€Π° процСсот Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜). Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² СкспСримСнтирамС со ΠΎΠ²Π°Π° Π°Π»Π°Ρ‚ΠΊΠ°, Π½ΠΎ сè ΡƒΡˆΡ‚Π΅ Π½Π΅ΠΌΠ°ΠΌΠ΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅. Π—Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ·Π°Π±Π°Π²Π½ΠΎ Π΄Π° Π³ΠΈ Ρ‡Π΅ΠΊΠ°Ρ‚Π΅, ΠžΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΠΌΠ΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° огласот RoadRunner ΠΎΠ΄ Spiral Scout.

ΠŸΡ€ΠΈΡΡ‚Π°ΠΏΠΎΡ‚ ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°Ρ‚Π° Π΅ Π±Π»ΠΈΠ·ΠΎΠΊ Π΄ΠΎ нас: ΠΊΠΎΠ³Π° Π³ΠΈ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π½ΠΈΠ΅ исто Ρ‚Π°ΠΊΠ° Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎ користимС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ˜Π° Π½Π° PHP ΠΈ Go, добивајќи Π³ΠΈ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈΡ‚Π΅ ΠΎΠ΄ Π΄Π²Π°Ρ‚Π° јазика ΠΈ Π½Π΅ ΠΎΡ‚ΠΊΠ°ΠΆΡƒΠ²Π°Ρ˜ΡœΠΈ сС ΠΎΠ΄ Π΅Π΄Π½ΠΈΠΎΡ‚ Π²ΠΎ корист Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠΎΡ‚.

Π£ΠΆΠΈΠ²Π°Ρ˜Ρ‚Π΅!

Π’ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° ΠΈΠ·ΠΌΠΈΠ½Π°Ρ‚ΠΈΡ‚Π΅ дСсСт Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΊΡ€Π΅ΠΈΡ€Π°Π²ΠΌΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΠ΄ списокот Fortune 500, ΠΈ Π·Π° бизниси со ΠΏΡƒΠ±Π»ΠΈΠΊΠ° ΠΎΠ΄ Π½Π΅ повСќС ΠΎΠ΄ 500 корисници. Π‘Π΅Ρ‚ΠΎ ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅, Π½Π°ΡˆΠΈΡ‚Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈ Π³ΠΎ Ρ€Π°Π·Π²ΠΈΡ˜Π° Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΡ‚ Π³Π»Π°Π²Π½ΠΎ Π²ΠΎ PHP. Но, ΠΏΡ€Π΅Π΄ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π½Π΅ΡˆΡ‚ΠΎ имашС Π³ΠΎΠ»Π΅ΠΌΠΎ влијаниС Π½Π΅ само Π½Π° пСрформанситС Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ, Ρ‚ΡƒΠΊΡƒ ΠΈ Π½Π° Π½ΠΈΠ²Π½Π°Ρ‚Π° приспособливост - Π³ΠΎ Π²ΠΎΠ²Π΅Π΄ΠΎΠ²ΠΌΠ΅ Golang (Go) Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΡˆΠΊΠΈ ΠΊΡƒΠΏ.

РСчиси вСднаш, ΠΎΡ‚ΠΊΡ€ΠΈΠ²ΠΌΠ΅ Π΄Π΅ΠΊΠ° Go Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌΠ΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ со Π΄ΠΎ 40 ΠΏΠ°Ρ‚ΠΈ ΠΏΠΎΠ±Ρ€Π·ΠΈ пСрформанси. Π‘ΠΎ Π½Π΅Π³ΠΎ, ΠΌΠΎΠΆΠ΅Π²ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈΠΌΠ΅ постоСчкитС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ напишани Π²ΠΎ PHP, ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ со ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°ΡšΠ΅ Π½Π° прСдноститС Π½Π° Π΄Π²Π°Ρ‚Π° јазика.

ЌС Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Go ΠΈ PHP ΠΏΠΎΠΌΠ°Π³Π° Π²ΠΎ Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° вистинскитС Ρ€Π°Π·Π²ΠΎΡ˜Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊΠΎ Ρ‚Π°Π° сС ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€ΠΈ Π²ΠΎ Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° нас ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со 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 7.4)

Π”Π°Π»ΠΈ PHP со Go ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΆΠΈΠ²Π΅Π΅ повСќС ΠΎΠ΄ Π΅Π΄Π½ΠΎ Π±Π°Ρ€Π°ΡšΠ΅?

МоТно Π΅ Π΄Π° сС ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ PHP скрипти ΠΊΠΎΠΈ ќС Ρ‚Ρ€Π°Π°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ»Π³ΠΎ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΌΠΈΠ½ΡƒΡ‚ΠΈ (Π΄ΠΎ часови ΠΈΠ»ΠΈ Π΄Π΅Π½ΠΎΠ²ΠΈ): Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, cron Π·Π°Π΄Π°Ρ‡ΠΈ, CSV парсСри, Ρ€Π΅Π΄ΠΈΡ†ΠΈ busters. Π‘ΠΈΡ‚Π΅ Ρ‚ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ спорСд истото сцСнарио: Π²Ρ€Π°ΡœΠ°Π°Ρ‚ Π·Π°Π΄Π°Ρ‡Π°, ја ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ ΠΈ ја Ρ‡Π΅ΠΊΠ°Π°Ρ‚ слСдната. ΠšΠΎΠ΄ΠΎΡ‚ сС Π½Π°ΠΎΡ“Π° Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°, Π·Π°ΡˆΡ‚Π΅Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½ΠΈ милисСкунди бидСјќи сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ‡Π΅ΠΊΠΎΡ€ΠΈ Π·Π° Π΄Π° сС Π²Ρ‡ΠΈΡ‚Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°.

Но, Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½ΠΈ скрипти Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΡƒ лСсно. БСкоја Π³Ρ€Π΅ΡˆΠΊΠ° цСлосно Π³ΠΎ ΡƒΠ±ΠΈΠ²Π° процСсот, Π΄ΠΈΡ˜Π°Π³Π½ΠΎΡΡ‚ΠΈΡ†ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ‚Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° Π²Π΅ ΠΈΠ·Π»ΡƒΠ΄ΡƒΠ²Π° ΠΈ повСќС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° користитС Π΄Π΅Π±Π°Π³ΠΈΡ€Π°ΡšΠ΅ Π½Π° F5.

Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° со ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° PHP 7: сС појави сигурСн собирач Π½Π° Ρ“ΡƒΠ±Ρ€Π΅, стана полСсно Π΄Π° сС справитС со Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅, Π° СкстСнзиитС Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ сСга сС Π·Π°ΡˆΡ‚ΠΈΡ‚Π΅Π½ΠΈ ΠΎΠ΄ ΠΏΡ€ΠΎΡ‚Π΅ΠΊΡƒΠ²Π°ΡšΠ΅. Π’ΠΎΡ‡Π½ΠΎ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ сè ΡƒΡˆΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈ со ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ свСсни Π·Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈΡ‚Π΅ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ‚ (Π΄Π°Π»ΠΈ ΠΈΠΌΠ° јазик ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π³Ρ€ΠΈΠΆΠΈΠΌΠ΅ Π·Π° ΠΎΠ²ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ?). А сСпак, Π²ΠΎ PHP 7 Π½Π΅ ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π°Ρ‚ ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ ΠΈΠ·Π½Π΅Π½Π°Π΄ΡƒΠ²Π°ΡšΠ°.

Π”Π°Π»ΠΈ Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС Π·Π΅ΠΌΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° со Π΄ΠΎΠ»Π³ΠΎΡ‚Ρ€Π°Ρ˜Π½ΠΈ PHP скрипти, Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΠΈ Π½Π° повСќС Ρ‚Ρ€ΠΈΠ²ΠΈΡ˜Π°Π»Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° HTTP ΠΈ со Ρ‚ΠΎΠ° Π΄Π° сС Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π΄Π° сС Π²Ρ‡ΠΈΡ‚Π° сè ΠΎΠ΄ Π½ΡƒΠ»Π° Π·Π° сСкоС Π±Π°Ρ€Π°ΡšΠ΅?

Π—Π° Π΄Π° Π³ΠΎ Ρ€Π΅ΡˆΠΈΠΌΠ΅ овој ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½Π°Ρ˜ΠΏΡ€Π²ΠΎ Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ сСрвСрска Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° која ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΈΡ„Π°ΡœΠ° HTTP Π±Π°Ρ€Π°ΡšΠ° ΠΈ Π΄Π° Π³ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°ΡœΠ° Π΅Π΄Π΅Π½ ΠΏΠΎ Π΅Π΄Π΅Π½ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΡ‚ Π½Π° PHP Π±Π΅Π· Π΄Π° Π³ΠΎ ΡƒΠ±ΠΈΠ²Π° сСкој ΠΏΠ°Ρ‚.

Π—Π½Π°Π΅Π²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° напишСмС Π²Π΅Π±-сСрвСр Π²ΠΎ чиста PHP (PHP-PM) ΠΈΠ»ΠΈ со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° наставката C (Swoole). И ΠΈΠ°ΠΊΠΎ сСкој ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ° свои заслуги, Π΄Π²Π΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ Π½Π΅ Π½ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Π° - сакавмС Π½Π΅ΡˆΡ‚ΠΎ повСќС. Ни Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ повСќС ΠΎΠ΄ само Π²Π΅Π±-сСрвСр - сС Π½Π°Π΄Π΅Π²Π°Π²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ќС Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡˆΡ‚ΠΎ ќС Π½Π΅ спаси ΠΎΠ΄ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со β€žΡ‚Π΅ΡˆΠΊΠΈΠΎΡ‚ ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊβ€œ Π²ΠΎ PHP, кој Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΠΈ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈ Π·Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’ΠΎΠ° Π΅, Π½ΠΈ Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ сСрвСр Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

МоТС Π»ΠΈ Go Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ со ΠΎΠ²Π°? Π—Π½Π°Π΅Π²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ бидСјќи Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π³ΠΈ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΠΎ Π΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ; Ρ‚ΠΎΠ° Π΅ крос-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°; користи сопствСн, ΠΌΠ½ΠΎΠ³Ρƒ Π΅Π»Π΅Π³Π°Π½Ρ‚Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (конкурСнтност) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со HTTP; ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈΠ»Ρ˜Π°Π΄Π½ΠΈΡ†ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ќС Π½ΠΈ Π±ΠΈΠ΄Π°Ρ‚ достапни.

Π’Π΅ΡˆΠΊΠΎΡ‚ΠΈΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π΄Π²Π° програмски Ρ˜Π°Π·ΠΈΡ†ΠΈ

ΠŸΡ€Π²ΠΈΠΎΡ‚ Ρ‡Π΅ΠΊΠΎΡ€ бСшС Π΄Π° сС ΠΎΠ΄Ρ€Π΅Π΄ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π²Π΅ ΠΈΠ»ΠΈ повСќС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ќС ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ Π΅Π΄Π½Π° со Π΄Ρ€ΡƒΠ³Π°.

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ прСкрасна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Alex Palaestras ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ процСситС PHP ΠΈ Go (слично Π½Π° mod_php Π²ΠΎ Apache). Но, ΠΎΠ²Π°Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠΌΠ° карактСристики ΡˆΡ‚ΠΎ ја ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°Π°Ρ‚ Π½Π΅Ρ˜Π·ΠΈΠ½Π°Ρ‚Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

РСшивмС Π΄Π° користимС Π΄Ρ€ΡƒΠ³, ΠΏΠΎΠ²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ пристап: Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ процСситС ΠΏΡ€Π΅ΠΊΡƒ ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΡ†ΠΈ/Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄ΠΈ. Овој пристап ја Π΄ΠΎΠΊΠ°ΠΆΠ° ΡΠ²ΠΎΡ˜Π°Ρ‚Π° сигурност Π²ΠΎ ΠΈΠ·ΠΌΠΈΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π΄Π΅Ρ†Π΅Π½ΠΈΠΈ ΠΈ бСшС Π΄ΠΎΠ±Ρ€ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ систСм.

Π—Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ, создадовмС СдноставСн Π±ΠΈΠ½Π°Ρ€Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ процСситС ΠΈ ΡΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΏΡ€ΠΈ прСносот. Π’ΠΎ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½Π° Ρ„ΠΎΡ€ΠΌΠ°, овој Ρ‚ΠΈΠΏ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π΅ сличСн Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π½ΠΈΠ·Π° с Π—Π°Π³Π»Π°Π²ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ со фиксна Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° (Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ 17 Π±Π°Ρ˜Ρ‚ΠΈ), кој содрТи ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Ρ‚ΠΈΠΏΠΎΡ‚ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚, Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Π° маска Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅.

На PHP страната ΡˆΡ‚ΠΎ ја користСвмС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚, Π° Π½Π° страната Go - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅/Π±ΠΈΠ½Π°Ρ€Π½ΠΎ.

Ни сС Ρ‡ΠΈΠ½Π΅ΡˆΠ΅ Π΄Π΅ΠΊΠ° Π΅Π΄Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π΅ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ - ΠΏΠ° Π΄ΠΎΠ΄Π°Π΄ΠΎΠ²ΠΌΠ΅ моТност Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΡšΠ΅ ΠžΠ΄Π΅Ρ‚Π΅ Π½Π° услуги net/rpc Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ΄ PHP. Ова ΠΏΠΎΠ΄ΠΎΡ†Π½Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π° ΠΌΠ½ΠΎΠ³Ρƒ Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚, бидСјќи ΠΌΠΎΠΆΠ΅Π²ΠΌΠ΅ лСсно Π΄Π° Π³ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Go Π²ΠΎ PHP Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ ΠΎΠ΄ ΠΎΠ²Π°Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄ΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΎΡ‚ наш ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π“ΠΎΡ€ΠΈΡŸ.

Π”ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π½ΠΈΠ· повСќС PHP Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ

ΠžΡ‚ΠΊΠ°ΠΊΠΎ Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΡ‚ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°, ΠΏΠΎΡ‡Π½Π°Π²ΠΌΠ΅ Π΄Π° размислувамС ΠΊΠ°ΠΊΠΎ Π½Π°Ρ˜Π΅Ρ„ΠΈΠΊΠ°ΡΠ½ΠΎ Π΄Π° Π³ΠΈ прСнСсСмС Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π²ΠΎ процСситС Π½Π° PHP. Кога ќС пристигнС Π·Π°Π΄Π°Ρ‡Π°, сСрвСрот Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΌΠΎΡ€Π° Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ бСсплатСн Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ Π·Π° Π΄Π° ја Π·Π°Π²Ρ€ΡˆΠΈ. Ако Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΡ‚/процСсот Π·Π°Π²Ρ€ΡˆΠΈ со Π³Ρ€Π΅ΡˆΠΊΠ° ΠΈΠ»ΠΈ β€žΡƒΠΌΡ€Π΅β€œ, сС ослободувамС ΠΎΠ΄ Π½Π΅Π³ΠΎ ΠΈ создавамС Π½ΠΎΠ² кој ќС Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ. И Π°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΡ‚/процСсот Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Ρ€ΡˆΠ΅Π½, Π³ΠΎ Π²Ρ€Π°ΡœΠ°ΠΌΠ΅ Π²ΠΎ Π±Π°Π·Π΅Π½ΠΎΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ достапни Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅.

RoadRunner: PHP Π½Π΅ Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π·Π° Π΄Π° ΡƒΠΌΡ€Π΅, ΠΈΠ»ΠΈ Golang Π·Π° спас

Π—Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π±Π°Π·Π΅Π½ ΠΎΠ΄ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ користСвмС Π±Π°Ρ„Π΅Ρ€ΠΈΡ€Π°Π½ ΠΊΠ°Π½Π°Π», Π·Π° Π΄Π° Π³ΠΈ отстранимС Π½Π΅ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π½ΠΎ β€žΠΌΡ€Ρ‚Π²ΠΈΡ‚Π΅β€œ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ ΠΎΠ΄ Π±Π°Π·Π΅Π½ΠΎΡ‚, Π΄ΠΎΠ΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° слСдСњС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΈ ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅.

Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ PHP сСрвСр способСн Π΄Π° Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° ситС Π±Π°Ρ€Π°ΡšΠ° прСтставСни Π²ΠΎ Π±ΠΈΠ½Π°Ρ€Π½Π° Ρ„ΠΎΡ€ΠΌΠ°.

Π—Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π½Π°ΡˆΠ°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ Π²Π΅Π±-сСрвСр, ΠΌΠΎΡ€Π°Π²ΠΌΠ΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌΠ΅ Π΄ΠΎΠ²Π΅Ρ€Π»ΠΈΠ² PHP стандард Π·Π° Π΄Π° Π³ΠΈ прСтстави ситС дојдовни HTTP Π±Π°Ρ€Π°ΡšΠ°. Π’ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½ΠΈΠ΅ само трансформираат net/http Π±Π°Ρ€Π°ΡšΠ΅ ΠΎΠ΄ Go to format PSR-7Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Π΅ ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π΅Π½ со ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ PHP Ρ€Π°ΠΌΠΊΠΈ достапни дСнСс.

Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ PSR-7 сС смСта Π·Π° Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ² (Π½Π΅ΠΊΠΎΠΈ Π±ΠΈ Ρ€Π΅ΠΊΠ»Π΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈ Π΄Π΅ΠΊΠ° Π½Π΅ Π΅), ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΌΠΎΡ€Π° Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Π½Π΅ Π³ΠΎ Ρ‚Ρ€Π΅Ρ‚ΠΈΡ€Π°Π°Ρ‚ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎ Π³Π»ΠΎΠ±Π°Π»Π΅Π½ Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚. Ова ΡƒΠ±Π°Π²ΠΎ сС Π²ΠΊΠ»ΠΎΠΏΡƒΠ²Π° со ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΎΡ‚ Π½Π° Π΄ΠΎΠ»Π³ΠΎΡ‚Ρ€Π°Ρ˜Π½ΠΈ PHP процСси. ΠΠ°ΡˆΠ°Ρ‚Π° ΠΊΠΎΠ½Π΅Ρ‡Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°, која сè ΡƒΡˆΡ‚Π΅ Π½Π΅ бСшС ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π°, изглСдашС Π²Π°ΠΊΠ°:

RoadRunner: PHP Π½Π΅ Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π·Π° Π΄Π° ΡƒΠΌΡ€Π΅, ΠΈΠ»ΠΈ Golang Π·Π° спас

Π’ΠΈ Π³ΠΎ прСтставувамС RoadRunner - PHP Π°ΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π΅Π½ сСрвСр со високи пСрформанси

ΠΠ°ΡˆΠ°Ρ‚Π° ΠΏΡ€Π²Π° тСст Π·Π°Π΄Π°Ρ‡Π° бСшС API backend, кој ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π΄ΠΎΠΆΠΈΠ²ΡƒΠ²Π°ΡˆΠ΅ Π½Π΅ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π½ΠΈ ΠΈΠ·Π»ΠΈΠ²ΠΈ Π½Π° Π±Π°Ρ€Π°ΡšΠ° (ΠΌΠ½ΠΎΠ³Ρƒ почСсто ΠΎΠ΄ Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ). Иако nginx бСшС Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ Π²ΠΎ ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ случаи, Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ Π½Π°ΠΈΠ΄ΡƒΠ²Π°Π²ΠΌΠ΅ Π½Π° 502 Π³Ρ€Π΅ΡˆΠΊΠΈ бидСјќи Π½Π΅ ΠΌΠΎΠΆΠ΅Π²ΠΌΠ΅ Π΄Π° Π³ΠΎ избалансирамС систСмот Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π±Ρ€Π·ΠΎ Π·Π° ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π½ΠΎΡ‚ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ.

Π—Π° Π΄Π° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ΅ ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π³ΠΎ распорСдивмС Π½Π°ΡˆΠΈΠΎΡ‚ ΠΏΡ€Π² сСрвСр Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ PHP/Go Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ Π½Π° 2018 Π³ΠΎΠ΄ΠΈΠ½Π°. И вСднаш Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ Π½Π΅Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π΅Π½ Π΅Ρ„Π΅ΠΊΡ‚! НС само ΡˆΡ‚ΠΎ цСлосно сС ослободивмС ΠΎΠ΄ Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° 502, Ρ‚ΡƒΠΊΡƒ успСавмС ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈΠΌΠ΅ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° сСрвСри Π·Π° Π΄Π²Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈΠ½ΠΈ, Π·Π°ΡˆΡ‚Π΅Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠ°Ρ€ΠΈ ΠΈ Π³Π»Π°Π²ΠΎΠ±ΠΎΠ»ΠΊΠΈ Π·Π° ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ.

Π”ΠΎ срСдината Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°Ρ‚Π°, Π³ΠΎ ΡƒΡΠΎΠ²Ρ€ΡˆΠΈΠ²ΠΌΠ΅ Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π³ΠΎ објавивмС Π½Π° GitHub ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° MIT ΠΈ Π³ΠΎ Π½Π°Ρ€Π΅ΠΊΠΎΠ²ΠΌΠ΅ Roadrunner, ΠΏΡ€ΠΈΡ‚ΠΎΠ° Π½Π°Π³Π»Π°ΡΡƒΠ²Π°Ρ˜ΡœΠΈ ја Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Π½Π΅Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½Π° Π±Ρ€Π·ΠΈΠ½Π° ΠΈ Сфикасност.

Како RoadRunner ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ Π²Π°ΡˆΠΈΠΎΡ‚ Ρ€Π°Π·Π²ΠΎΡ˜Π΅Π½ оџак

ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Roadrunner Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° користимС Middleware net/http Π½Π° страната Go Π·Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ JWT Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅Π΄ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π΄Π° стигнС Π΄ΠΎ PHP, ΠΊΠ°ΠΊΠΎ ΠΈ Π΄Π° сС справимС со WebSockets ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½Π°Ρ‚Π° Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡ˜Π° Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈ Π²ΠΎ Prometheus.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈΠΎΡ‚ RPC, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ API Π½Π° која Π±ΠΈΠ»ΠΎ Go Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° PHP Π±Π΅Π· Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π·Π° наставки. Π£ΡˆΡ‚Π΅ ΠΏΠΎΠ²Π°ΠΆΠ½ΠΎ, RoadRunner ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи Π·Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ сСрвСри ΠΊΠΎΠΈ Π½Π΅ сС HTTP. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Π°Ρ‚ Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈ Π²ΠΎ PHP AWS Π›Π°ΠΌΠ±Π΄Π°, создавајќи сигурни Π·Π°Π±ΠΈΠ²Π°Ρ‡ΠΈ Π½Π° Ρ€Π΅Π΄ΠΈΡ†ΠΈ, ΠΏΠ° Π΄ΡƒΡ€ΠΈ ΠΈ додавањС gRPC Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π‘ΠΎ помош Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡ†ΠΈΡ‚Π΅ PHP ΠΈ Go, ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠ²ΠΌΠ΅ стабилноста Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π³ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠ²ΠΌΠ΅ пСрформанситС Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΄ΠΎ 40 ΠΏΠ°Ρ‚ΠΈ Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ тСстови, Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠ²ΠΌΠ΅ Π°Π»Π°Ρ‚ΠΊΠΈΡ‚Π΅ Π·Π° ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° со Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Symfony ΠΈ Π΄ΠΎΠ΄Π°Π΄Π΅Π²ΠΌΠ΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° HTTPS, HTTP/ 2, ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΡ†ΠΈ ΠΈ PSR-17.

Π—Π°ΠΊΠ»ΡƒΡ‡ΠΎΠΊ

НСкои Π»ΡƒΡ“Π΅ сè ΡƒΡˆΡ‚Π΅ сС Ρ„Π°Ρ‚Π΅Π½ΠΈ Π²ΠΎ застарСниот ΠΏΠΎΠ³Π»Π΅Π΄ Π½Π° PHP ΠΊΠ°ΠΊΠΎ Π±Π°Π²Π΅Π½, Ρ‚Π΅ΠΆΠΎΠΊ јазик само Π΄ΠΎΠ±Π°Ρ€ Π·Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π΄ΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° WordPress. ОвиС Π»ΡƒΡ“Π΅ Π±ΠΈ ΠΌΠΎΠΆΠ΅Π»Π΅ Π΄ΡƒΡ€ΠΈ Π΄Π° Ρ€Π΅Ρ‡Π°Ρ‚ Π΄Π΅ΠΊΠ° PHP ΠΈΠΌΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅: ΠΊΠΎΠ³Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ќС станС Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ°, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ β€žΠΏΠΎΠ·Ρ€Π΅Π»β€œ јазик ΠΈ Π΄Π° ја ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ΄ ΡˆΡ‚ΠΎ сС Π°ΠΊΡƒΠΌΡƒΠ»ΠΈΡ€Π°Π»Π° Π²ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° ΠΌΠ½ΠΎΠ³Ρƒ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.

На сСто ΠΎΠ²Π° сакам Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π°ΠΌ: размислСтС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ. НиС Π²Π΅Ρ€ΡƒΠ²Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° само Π²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° поставитС ΠΊΠ°ΠΊΠ²ΠΈ Π±ΠΈΠ»ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° Π·Π° PHP. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠΌΠΈΠ½Π΅Ρ‚Π΅ Ρ†Π΅Π»ΠΈΠΎΡ‚ свој ΠΆΠΈΠ²ΠΎΡ‚ скокајќи ΠΎΠ΄ Π΅Π΄Π΅Π½ јазик Π½Π° Π΄Ρ€ΡƒΠ³, ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°Ρ˜ΡœΠΈ сС Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Ρ‚Π΅ ΡΠΎΠ²Ρ€ΡˆΠ΅Π½ΠΎΡ‚ΠΎ ΡΠΎΠ²ΠΏΠ°Ρ“Π°ΡšΠ΅ Π·Π° Π²Π°ΡˆΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° размислуватС Π·Π° Ρ˜Π°Π·ΠΈΡ†ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ Π°Π»Π°Ρ‚ΠΊΠΈ. Π’ΠΎΠΎΡ‡Π΅Π½ΠΈΡ‚Π΅ нСдостатоци Π½Π° јазик ΠΊΠ°ΠΊΠΎ PHP Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ успСх. И Π°ΠΊΠΎ Π³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ со Π΄Ρ€ΡƒΠ³ јазик ΠΊΠ°ΠΊΠΎ Go, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° создадСтС ΠΌΠ½ΠΎΠ³Ρƒ помоќни ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ ΠΎΡ‚ΠΊΠΎΠ»ΠΊΡƒ Π°ΠΊΠΎ стС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π½Π° само Π΅Π΄Π΅Π½ јазик.

ΠžΡ‚ΠΊΠ°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π²ΠΌΠ΅ со ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ˜Π° Π½Π° Go ΠΈ PHP, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π³ΠΈ сакамС. НС ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΆΡ€Ρ‚Π²ΡƒΠ²Π°ΠΌΠ΅ Π΅Π΄Π½ΠΎΡ‚ΠΎ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Ρ‚ΡƒΠΊΡƒ Π±Π°Ρ€Π°ΠΌΠ΅ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ΠΌΠ΅ ΡƒΡˆΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° врСдност ΠΎΠ΄ овој Π΄Π²ΠΎΠ΅Π½ стСк.

UPD: Π“ΠΎ ΠΏΠΎΠ·Π΄Ρ€Π°Π²ΡƒΠ²Π°ΠΌΠ΅ ΠΊΡ€Π΅Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π½Π° RoadRunner ΠΈ ΠΊΠΎΠ°Π²Ρ‚ΠΎΡ€ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° - ЛахСзис

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€