RoadRunner: PHP ืื™ื– ื ื™ืฉื˜ ื’ืขื‘ื•ื™ื˜ ืฆื• ืฉื˜ืึทืจื‘ืŸ, ืึธื“ืขืจ Golang ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ

RoadRunner: PHP ืื™ื– ื ื™ืฉื˜ ื’ืขื‘ื•ื™ื˜ ืฆื• ืฉื˜ืึทืจื‘ืŸ, ืึธื“ืขืจ Golang ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ

ื”ื™ื™ ื”ืื‘ืจ! ืžื™ืจ ื–ืขื ืขืŸ ืึทืงื˜ื™ื•ื• ืื™ืŸ Badoo ืืจื‘ืขื˜ืŸ ืื•ื™ืฃ PHP ืคืึธืจืฉื˜ืขืœื•ื ื’, ื–ื™ื ื˜ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืคืขืจืœื™ ื’ืจื•ื™ืก ืกื™ืกื˜ืขื ืื™ืŸ ื“ืขื ืฉืคึผืจืึทืš ืื•ืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืื™ื– ืึท ื’ืขืœื˜ ืฉืคึผืึธืจืŸ ืึทืจื•ื™ืกื’ืขื‘ืŸ. ืžื™ื˜ ืžืขืจ ื•ื•ื™ ืฆืขืŸ ื™ืึธืจ ืฆื•ืจื™ืง, ืžื™ืจ ื‘ืืฉืืคืŸ PHP-FPM ืคึฟืึทืจ ื“ืขื, ื•ื•ืึธืก ืื™ืŸ ืขืจืฉื˜ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ืกื›ื•ื ืคื•ืŸ ืคึผืึทื˜ืฉืึทื– ืคึฟืึทืจ PHP, ืื•ืŸ ืฉืคึผืขื˜ืขืจ ืืจื™ื™ืŸ ืื™ืŸ ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’.

ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ื™ืึธืจืŸ, PHP ื”ืื˜ ื’ืขืžืื›ื˜ ื’ืจื•ื™ืก ืคึผืจืึธื’ืจืขืก: ื“ื™ ืžื™ืกื˜ ืงืึทืœืขืงื˜ืขืจ ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“, ื“ื™ ืžื“ืจื’ื” ืคื•ืŸ ืคืขืกื˜ืงื™ื™ึทื˜ ืื™ื– ื’ืขื•ื•ืืงืกืŸ - ื”ื™ื™ึทื ื˜ ืื™ืจ ืงืขื ืขืŸ ืฉืจื™ื™ึทื‘ืŸ ื“ืขืžืึธื ืก ืื•ืŸ ืœืึทื ื’-ื’ืขืœืขื‘ื˜ ืกืงืจื™ืคึผืก ืื™ืŸ PHP ืึธืŸ ืงื™ื™ืŸ ืคืจืื‘ืœืขืžืขืŸ. ื“ืึธืก ื”ืึธื˜ ื“ืขืจืœื•ื™ื‘ื˜ ืกืคึผื™ืจืึทืœื™ืฉ ื•ื™ืกืงื•ืงืขืจ ืฆื• ื’ื™ื™ืŸ ื•ื•ื™ื™ึทื˜ืขืจ: RoadRunner, ื ื™ื˜ ืขื ืœืขืš PHP-FPM, ื˜ื•ื˜ ื ื™ืฉื˜ ืจื™ื™ืŸ ืึทืจื•ื™ืฃ ื–ื›ึผืจื•ืŸ ืฆื•ื•ื™ืฉืŸ ืจื™ืงื•ื•ืขืก, ื•ื•ืึธืก ื’ื™ื˜ ืึทืŸ ื ืึธืš ืคืึธืจืฉื˜ืขืœื•ื ื’ ื’ืขื•ื•ื™ื ืขืŸ (ื›ืึธื˜ืฉ ื“ืขื ืฆื•ื’ืึทื ื’ ืงืึทืžืคึผืœื™ืงื™ื™ืฅ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืจืึธืฆืขืก). ืžื™ืจ ื–ืขื ืขืŸ ื“ืขืจื•ื•ื™ื™ึทืœ ืขืงืกืคึผืขืจื™ืžืขื ื˜ ืžื™ื˜ ื“ืขื ื’ืขืฆื™ื™ึทื’, ืึธื‘ืขืจ ืžื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืงื™ื™ืŸ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื ืึธืš ืฆื• ื˜ื™ื™ืœืŸ. ืฆื• ืžืึทื›ืŸ ื•ื•ืืจื˜ืŸ ืคึฟืึทืจ ื–ื™ื™ ืžืขืจ ืฉืคึผืึทืก, ืžื™ืจ ืึทืจื•ื™ืกื’ืขื‘ืŸ ื“ื™ ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืคื•ืŸ ื“ื™ RoadRunner ืžืขืœื“ืŸ ืคื•ืŸ ืกืคึผื™ืจืึทืœ ืกืงืึธื•ื˜.

ื“ืขืจ ืฆื•ื’ืึทื ื’ ืคื•ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื™ื– ื ืึธืขื ื˜ ืฆื• ืื•ื ื“ื–: ื•ื•ืขืŸ ืกืึทืœื•ื•ื™ื ื’ ืื•ื ื“ื–ืขืจ ืคึผืจืึธื‘ืœืขืžืก, ืžื™ืจ ืื•ื™ืš ืจื•ื‘ึฟ ืึธืคื˜ ื ื•ืฆืŸ ืึท ื‘ื™ื ื˜ืœ ืคื•ืŸ PHP ืื•ืŸ Go, ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื‘ืขื ืขืคื™ืฅ ืคื•ืŸ ื‘ื™ื™ื“ืข ืฉืคึผืจืึทื›ืŸ ืื•ืŸ ื ื™ืฉื˜ ืคืึทืจืœืึธื–ืŸ ืื™ื™ื ืขืจ ืื™ืŸ ื˜ื•ื™ื•ื•ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืื ื“ืขืจืข.

ื”ื ืื”!

ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ืฆืขืŸ ื™ืึธืจ, ืžื™ืจ ื”ืึธื‘ืŸ ื‘ืืฉืืคืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคึฟืึทืจ ืงืึธืžืคึผืึทื ื™ืขืก ืคึฟื•ืŸ ื“ืขืจ ืจืฉื™ืžื” ืžืึทื–ืœ ืงืกื ื•ืžืงืก, ืื•ืŸ ืคึฟืึทืจ ื’ืขืฉืขืคื˜ืŸ ืžื™ื˜ ืึท ื•ื™ืœืขื ืคื•ืŸ ื ื™ื˜ ืžืขืจ ื•ื•ื™ 500 ื™ื•ื–ืขืจื–. ืึทืœืข ื“ื™ ืฆื™ื™ื˜, ืื•ื ื“ื–ืขืจ ืขื ื“ื–ืฉืึทื ื™ืจื– ื”ืึธื‘ืŸ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื™ ื‘ืึทืงืขื ื“ ื“ืขืจ ื”ื•ื™ืคึผื˜ ืื™ืŸ PHP. ืึธื‘ืขืจ ืžื™ื˜ ืฆื•ื•ื™ื™ ื™ืึธืจ ืฆื•ืจื™ืง, ืขืคึผืขืก ื”ืื˜ ืึท ื’ืจื•ื™ืก ืคึผืจืึทืœ ื ื™ื˜ ื‘ืœื•ื™ื– ืื•ื™ืฃ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืคึผืจืึธื“ื•ืงื˜ืŸ, ืึธื‘ืขืจ ืื•ื™ืš ืื•ื™ืฃ ื–ื™ื™ืขืจ ืกืงืึทืœืึทื‘ื™ืœื™ื˜ื™ - ืžื™ืจ ื‘ืึทืงืขื ืขื  Golang (Go) ืื™ืŸ ืื•ื ื“ื–ืขืจ ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืกื˜ืึทืง.

ื›ึผืžืขื˜ ื’ืœื™ื™ืš, ืžื™ืจ ื“ื™ืกืงืึทื•ื•ืขืจื“ ืึทื– Go ืขืจืœื•ื™ื‘ื˜ ืื•ื ื“ื– ืฆื• ื‘ื•ื™ืขืŸ ื’ืจืขืกืขืจืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืžื™ื˜ ืึทืจื•ื™ืฃ ืฆื• 40 ืงืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ. ืžื™ื˜ ืื™ื, ืžื™ืจ ื–ืขื ืขืŸ ื‘ื™ื›ื•ืœืช ืฆื• ืคืึทืจื‘ืจื™ื™ื˜ืขืจืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืคึผืจืึธื“ื•ืงื˜ืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ PHP, ื™ืžืคึผืจื•ื•ื•ื™ื ื’ ื–ื™ื™ ื“ื•ืจืš ืงืึทืžื‘ื™ื™ื ื™ื ื’ ื“ื™ ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื– ืคื•ืŸ ื‘ื™ื™ื“ืข ืฉืคึผืจืึทื›ืŸ.

ืžื™ืจ ื•ื•ืขืœืŸ ื“ืขืจืฆื™ื™ืœืŸ ืื™ืจ ื•ื•ื™ ื“ื™ ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹Go ืื•ืŸ PHP ื”ืขืœืคึผืก ืฆื• ืกืึธืœื•ื•ืข ืคืึทืงื˜ื™ืฉ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืจืึธื‘ืœืขืžืก ืื•ืŸ ื•ื•ื™ ืขืก ืื™ื– ืคืืจื•ื•ืื ื“ืœืขืŸ ืื™ืŸ ืึท ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ืื•ื ื“ื– ื•ื•ืึธืก ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืจื™ื™ึทืขืŸ ืคื•ืŸ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืคึผืจืึธื‘ืœืขืžืก ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ืคืคึผ ืฉื˜ืึทืจื‘ืŸ ืžืึธื“ืขืœ.

ื“ื™ื™ืŸ ื˜ืขื’ืœืขืš PHP ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืกื•ื•ื™ื•ื•ืข

ืื™ื™ื“ืขืจ ืžื™ืจ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ Go ืฆื• ื•ืคืœืขื‘ืŸ ื“ื™ PHP ื“ื™ื™ื™ื ื’ ืžืึธื“ืขืœ, ืœืึธื–ืŸ ืื•ื ื“ื– ืงื•ืง ืื™ืŸ ื“ื™ื™ืŸ ืคืขืœื™ืงื™ื™ึทื˜ PHP ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืกื•ื•ื™ื•ื•ืข.

ืื™ืŸ ืจื•ื‘ึฟ ืงืึทืกืขืก, ืื™ืจ ืœื•ื™ืคืŸ ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืžื™ื˜ ืึท ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ nginx ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ ืื•ืŸ ื“ื™ PHP-FPM ืกืขืจื•ื•ืขืจ. ื“ื™ ืขืจืฉื˜ืข ืกืขืจื•ื•ืขืก ืกื˜ืึทื˜ื™ืง ื˜ืขืงืขืก ืื•ืŸ ืจื™ื“ืขืจืขืงืฅ ืกืคึผืขืฆื™ืคื™ืฉ ืจื™ืงื•ื•ืขืก ืฆื• PHP-FPM, ื‘ืฉืขืช PHP-FPM ื–ื™ืš ืขืงืกืึทืงื™ื•ืฅ PHP ืงืึธื“. ืื™ืจ ืงืขืŸ ื ื•ืฆืŸ ื“ื™ ื•ื•ื™ื™ื ื™ืงืขืจ ืคืึธืœืงืก ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืึทืคึผืึทื˜ืฉื™ ืื•ืŸ mod_php. ืึธื‘ืขืจ ื›ืึธื˜ืฉ ืขืก ืึทืจื‘ืขื˜ ืึท ื‘ื™ืกืœ ืึทื ื“ืขืจืฉ, ื“ื™ ืคึผืจื™ื ืฆื™ืคึผืŸ ื–ืขื ืขืŸ ื“ื™ ื–ืขืœื‘ืข.

ืœืึธืžื™ืจ ื ืขืžืขืŸ ืึท ืงื•ืง ืื™ืŸ ื•ื•ื™ PHP-FPM ืขืงืกืึทืงื™ื•ืฅ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“. ื•ื•ืขืŸ ืึท ื‘ืงืฉื” ืงื•ืžื˜ ืื™ืŸ, PHP-FPM ื™ื ื™ืฉืึทืœื™ื™ื–ื™ื– ืึท PHP ืงื™ื ื“ ืคึผืจืึธืฆืขืก ืื•ืŸ ืคึผืึทืกื™ื– ื“ื™ ื“ืขื˜ืึทื™ืœืก ืคื•ืŸ ื“ื™ ื‘ืขื˜ืŸ ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื–ื™ื™ืŸ ืฉื˜ืึทื˜ (_GET, _POST, _SERVER, ืขื˜ืง.).

ื“ื™ ืฉื˜ืึทื˜ ืงืขืŸ ื ื™ืฉื˜ ื˜ื•ื™ืฉืŸ ื‘ืขืฉืึทืก ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืึท PHP ืฉืจื™ืคื˜, ืึทื–ื•ื™ ื“ืขืจ ื‘ืœื•ื™ื– ื•ื•ืขื’ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึท ื ื™ื™ึทืข ื’ืึทื ื’ ืคื•ืŸ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื“ืึทื˜ืŸ ืื™ื– ืฆื• ื•ื™ืกืžืขืงืŸ ื“ืขื ืคึผืจืึธืฆืขืก ื–ื›ึผืจื•ืŸ ืื•ืŸ ื™ื ื™ื˜ื™ืึทืœื™ื–ื™ื ื’ ืขืก ื•ื•ื™ื“ืขืจ.

ื“ืขื ื“ื•ืจื›ืคื™ืจื•ื ื’ ืžืึธื“ืขืœ ื”ืื˜ ืคื™ืœืข ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื–. ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืฆื• ื–ืึธืจื’ ืฆื• ืคื™ืœ ื•ื•ืขื’ืŸ ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ, ืึทืœืข ืคึผืจืึทืกืขืกืึทื– ื–ืขื ืขืŸ ื’ืึธืจ ืืคื’ืขื–ื•ื ื“ืขืจื˜, ืื•ืŸ ืื•ื™ื‘ ืื™ื™ื ืขืจ ืคื•ืŸ ื–ื™ื™ "ืฉื˜ืึทืจื‘ื˜", ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืจื™ืงืจื™ื™ื™ื˜ื™ื“ ืื•ืŸ ืขืก ื•ื•ืขื˜ ื ื™ืฉื˜ ื•ื•ื™ืจืงืŸ ื“ื™ ืจืขืฉื˜ ืคื•ืŸ ื“ื™ ืคึผืจืึทืกืขืกืึทื–. ืึธื‘ืขืจ ื“ืขื ืฆื•ื’ืึทื ื’ ืื•ื™ืš ื”ืื˜ ื“ื™ืกืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื– ื•ื•ืึธืก ื“ืขืจืฉื™ื™ึทื ืขืŸ ื•ื•ืขืŸ ืื™ืจ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื•ื™ืกืžืขืงืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ.

ื“ื™ืกืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื– ืื•ืŸ ื™ื ื™ืคืขืงื˜ื™ื•ื•ื™ื– ืคื•ืŸ ืึท ืจืขื’ื•ืœืขืจ PHP ืกื•ื•ื™ื•ื•ืข

ืื•ื™ื‘ ืื™ืจ ื–ืขื ื˜ ืึท ืคืึทื›ืžืึทืŸ PHP ื“ืขื•ื•ืขืœืึธืคึผืขืจ, ืื™ืจ ื•ื•ื™ืกืŸ ื•ื•ื• ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืึท ื ื™ื™ึทืข ืคึผืจื•ื™ืขืงื˜ - ืžื™ื˜ ื“ื™ ื‘ืจื™ืจื” ืคื•ืŸ ืึท ืคืจื™ื™ืžื•ื•ืขืจืง. ืขืก ื‘ืืฉื˜ื™ื™ื˜ ืคื•ืŸ ืึธืคืขื ื’ื™ืงื™ื™ึทื˜ ื™ื ื“ื–ืฉืขืงืฉืึทืŸ ืœื™ื™ื‘ืจืขืจื™ื–, ืึธืจืžืก, ืื™ื‘ืขืจื–ืขืฆื•ื ื’ืขืŸ ืื•ืŸ ื˜ืขืžืคึผืœืึทื˜ืขืก. ืื•ืŸ, ืคื•ืŸ ืงื•ืจืก, ืึทืœืข ื‘ืึทื ื™ืฆืขืจ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึทื ื•ื•ื™ื ื™ืึทื ื˜ืœื™ ืฉื˜ืขืœืŸ ืื™ืŸ ืื™ื™ืŸ ื›ื™ื™ืคืขืฅ (Symfony/HttpFoundation ืึธื“ืขืจ PSR-7). ืคืจืึทืžืขื•ื•ืึธืจืงืก ื–ืขื ืขืŸ ืงื™ืœ!

ืื‘ืขืจ ืึทืœืฅ ื”ืื˜ ื–ื™ื™ึทืŸ ืคึผืจื™ื™ึทื–. ืื™ืŸ ืงื™ื™ืŸ ืคืึทืจื ืขืžื•ื ื’-ืžื“ืจื’ื” ืคืจื™ื™ืžื•ื•ืขืจืง, ืฆื• ืคึผืจืึธืฆืขืก ืึท ืคึผืฉื•ื˜ ื‘ืึทื ื™ืฆืขืจ ื‘ืขื˜ืŸ ืึธื“ืขืจ ืึทืงืกืขืก ืฆื• ืึท ื“ืึทื˜ืึทื‘ื™ื™ืก, ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ืžืึทืกืข ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ ื“ืึทื–ืึทื ื– ืคื•ืŸ ื˜ืขืงืขืก, ืžืึทื›ืŸ ืคื™ืœืข ืงืœืืกืŸ ืื•ืŸ ืคึผืึทืจืก ืขื˜ืœืขื›ืข ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื–. ืื‘ืขืจ ื“ื™ ืขืจื’ืกื˜ ื–ืึทืš ืื™ื– ืึทื– ื ืึธืš ืงืึทืžืคึผืœื™ื˜ื™ื ื’ ื™ืขื“ืขืจ ืึทืจื‘ืขื˜, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืง ืึทืœืฅ ืื•ืŸ ืึธื ื”ื™ื™ื‘ืŸ ืื™ื‘ืขืจ: ืึทืœืข ื“ื™ ืงืึธื“ ื•ื•ืึธืก ืื™ืจ ื ืึธืจ ื™ื ื™ืฉื™ื™ื™ื˜ื™ื“ ื•ื•ืขืจื˜ ืึทืจื•ื™ืกื’ืขื•ื•ืึธืจืคืŸ, ืžื™ื˜ ื–ื™ื™ึทืŸ ื”ื™ืœืฃ ืื™ืจ ื•ื•ืขื˜ ื ื™ื˜ ืžืขืจ ืคึผืจืึธืฆืขืก ืืŸ ืื ื“ืขืจ ื‘ืงืฉื”. ื–ืื’ ื“ืืก ืคืืจ ื™ืขื“ืŸ ืคืจืื’ืจืื ื•ื•ืืก ืฉืจื™ื™ื‘ื˜ ืื•ื™ืฃ ืืŸ ืื ื“ืขืจืข ืฉืคืจืืš, ืื•ืŸ ืื™ืจ ื•ื•ืขื˜ ื–ืขืŸ ืคืืจื‘ื™ื ื“ื•ื ื’ ืื•ื™ืฃ ื–ื™ื™ืŸ ืคื ื™ื.

PHP ืขื ื“ื–ืฉืึทื ื™ืจื– ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืงื•ืงืŸ ืคึฟืึทืจ ื•ื•ืขื’ืŸ ืฆื• ืกืึธืœื•ื•ืข ื“ืขื ืคึผืจืึธื‘ืœืขื ืคึฟืึทืจ ื™ืึธืจืŸ, ื ื™ืฆืŸ ืงืœื•ื’ ืคื•ื™ืœ-ืœืึธื•ื“ื™ื ื’ ื˜ืขืงื ื™ืงืก, ืžื™ืงืจืึธืคืจืึทืžืขื•ื•ืึธืจืงืก, ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืœื™ื™ื‘ืจืขืจื™ื–, ืงืึทืฉ, ืืื–"ื• ื•. ืื‘ืขืจ ืื™ืŸ ื“ื™ ืกื•ืฃ, ืื™ืจ ื ืึธืš ื”ืึธื‘ืŸ ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืง ื“ื™ ื’ืื ืฆืข ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ืึธื ื”ื™ื™ื‘ืŸ ืื™ื‘ืขืจ, ื•ื•ื™ื“ืขืจ ืื•ืŸ ื•ื•ื™ื“ืขืจ. . (ื˜ืจืึทื ืกืœื™ื™ื˜ืขืจ ืก ื‘ืึทืžืขืจืงื•ื ื’: ื“ืขื ืคึผืจืึธื‘ืœืขื ื•ื•ืขื˜ ื–ื™ื™ืŸ ื˜ื™ื™ืœ ืกืึทืœื•ื•ื“ ืžื™ื˜ ื“ื™ ืึทื“ื•ื•ืขื ื˜ ืคื•ืŸ ืคึผืจืขืœืึธืึทื“ ืื™ืŸ PHP 7.4)

ืงืขื ืขืŸ PHP ืžื™ื˜ Go ื‘ืœื™ื™ึทื‘ื  ืœืขื‘ืŸ ืžืขืจ ื•ื•ื™ ืื™ื™ืŸ ื‘ืงืฉื”?

ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืฉืจื™ื™ึทื‘ืŸ PHP ืกืงืจื™ืคึผืก ื•ื•ืึธืก ืœืขื‘ืŸ ืžืขืจ ื•ื•ื™ ืึท ื‘ื™ืกืœ ืžื™ื ื•ื˜ (ืึทืจื•ื™ืฃ ืฆื• ืฉืขื” ืึธื“ืขืจ ื˜ืขื’): ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืงืจืึทืŸ ื˜ืึทืกืงืก, ืงืกื•ื• ืคึผืึทืจืกืขืจื–, ืจื™ื™ ื‘ืจื™ื™ืงืขืจื–. ื–ื™ื™ ืึทืœืข ืึทืจื‘ืขื˜ืŸ ืœื•ื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืกืฆืขื ืึทืจ: ื–ื™ื™ ืฆื•ืจื™ืงืงืจื™ื’ืŸ ืึท ืึทืจื‘ืขื˜, ื•ื™ืกืคื™ืจืŸ ืขืก ืื•ืŸ ื•ื•ืึทืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ. ื“ืขืจ ืงืึธื“ ืจื™ื–ื™ื™ื“ื– ืื™ืŸ ื–ื›ึผืจื•ืŸ ืึทืœืข ื“ื™ ืฆื™ื™ึทื˜, ืฉืคึผืึธืจืŸ ื˜ื™ื™ึทืขืจ ืžื™ืœื™ืกืขืงืึทื ื“ื– ื•ื•ื™ื™ึทืœ ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ื ืึธืš ืกื˜ืขืคึผืก ืคืืจืœืื ื’ื˜ ืฆื• ืžืึทืกืข ื“ื™ ืคืจื™ื™ืžื•ื•ืขืจืง ืื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ.

ืื‘ืขืจ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืœืึทื ื’-ื’ืขืœืขื‘ื˜ ืกืงืจื™ืคึผืก ืื™ื– ื ื™ืฉื˜ ื’ืจื™ื ื’. ืงื™ื™ืŸ ื˜ืขื•ืช ื’ืึธืจ ืงื™ืœื– ื“ืขื ืคึผืจืึธืฆืขืก, ื“ื™ืึทื’ื ืึธืกื™ื ื’ ื–ื›ึผืจื•ืŸ ืœื™ืงืก ืื™ื– ื™ื ืคื™ื•ืจื™ื™ื™ื˜ื™ื ื’, ืื•ืŸ F5 ื“ื™ื‘ืึทื’ื™ื ื’ ืื™ื– ื ื™ื˜ ืžืขืจ ืžืขื’ืœืขืš.

ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“ ืžื™ื˜ ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ PHP 7: ืึท ืคืึทืจืœืึธื–ืœืขืš ืžื™ืกื˜ ืงืึทืœืขืงื˜ืขืจ ืื™ื– ืืจื•ื™ืก, ืขืก ืื™ื– ื’ืขื•ื•ืืจืŸ ื’ืจื™ื ื’ืขืจ ืฆื• ืฉืขืคึผืŸ ืขืจืจืึธืจืก, ืื•ืŸ ืงืขืจืŸ ื™ืงืกื˜ืขื ืฉืึทื ื– ื–ืขื ืขืŸ ืื™ืฆื˜ ืจื™ื ืขืŸ-ื“ืขืจื•ื•ื™ื™ึทื–. ืืžืช, ืขื ื“ื–ืฉืึทื ื™ืจื– ื ืึธืš ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืึธืคึผื’ืขื”ื™ื˜ ืžื™ื˜ ื–ื›ึผืจื•ืŸ ืื•ืŸ ื–ื™ื™ืŸ ืึทื•ื•ืขืจ ืคื•ืŸ ืฉื˜ืึทื˜ ื™ืฉื•ื– ืื™ืŸ ืงืึธื“ (ืื™ื– ืขืก ืึท ืฉืคึผืจืึทืš ื•ื•ืึธืก ืงืขื ืขืŸ ืื™ื’ื ืึธืจื™ืจืŸ ื“ื™ ื–ืื›ืŸ?). ื ืึธืš, PHP 7 ื”ืื˜ ื•ื•ื™ื™ื ื™ืงืขืจ ืกืึทืคึผืจื™ื™ื–ื™ื– ืื™ืŸ ืงืจืึธื ืคึฟืึทืจ ืื•ื ื“ื–.

ืื™ื– ืขืก ืžืขื’ืœืขืš ืฆื• ื ืขืžืขืŸ ื“ืขื ืžืึธื“ืขืœ ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืœืึทื ื’-ื’ืขืœืขื‘ื˜ PHP ืกืงืจื™ืคึผืก, ืึทื“ืึทืคึผื˜ ืขืก ืฆื• ืžืขืจ ื ื™ืฉื˜ื™ืง ื˜ืึทืกืงืก ื•ื•ื™ ืคึผืจืึทืกืขืกื™ื ื’ ื”ื˜ื˜ืคึผ ืจื™ืงื•ื•ืขืก, ืื•ืŸ ื“ืขืจืžื™ื˜ ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืจื™ื™ึทืขืŸ ืคื•ืŸ ื“ื™ ื ื•ื™ื˜ ืฆื• ืžืึทืกืข ืึทืœืฅ ืคึฟื•ืŸ ืงืจืึทืฆืŸ ืžื™ื˜ ื™ืขื“ืขืจ ื‘ืงืฉื”?

ืฆื• ืกืึธืœื•ื•ืข ื“ืขื ืคึผืจืึธื‘ืœืขื, ืžื™ืจ ืขืจืฉื˜ืขืจ ื“ืืจืฃ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ืึท ืกืขืจื•ื•ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืึธืก ืงืขืŸ ืึธื ื ืขืžืขืŸ ื”ื˜ื˜ืคึผ ืจื™ืงื•ื•ืขืก ืื•ืŸ ืจื™ื“ืขืจืขืงื˜ ื–ื™ื™ ืื™ื™ื ืขืจ ื“ื•ืจืš ืื™ื™ื ืขืจ ืฆื• ื“ื™ PHP ืึทืจื‘ืขื˜ืขืจ ืึธืŸ ืžืึธืจื“ ืขืก ื™ืขื“ืขืจ ืžืึธืœ.

ืžื™ืจ ื’ืขื•ื•ืื•ืกื˜ ืึทื– ืžื™ืจ ืงืขื ืขืŸ ืฉืจื™ื™ึทื‘ืŸ ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ ืื™ืŸ ืจื™ื™ืŸ PHP (PHP-PM) ืึธื“ืขืจ ื ื™ืฆืŸ ืึท C ืคืึทืจืœืขื ื’ืขืจื•ื ื’ (Swoole). ืื•ืŸ ื›ืึธื˜ืฉ ื™ืขื“ืขืจ ืื•ืคึฟืŸ ื”ืื˜ ื–ื™ื™ึทืŸ ืื™ื™ื’ืขื ืข ืžืขืจื™ืฅ, ื‘ื™ื™ื“ืข ืึธืคึผืฆื™ืขืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืคึผืึทืกื™ืง ืคึฟืึทืจ ืื•ื ื“ื– - ืžื™ืจ ื’ืขื•ื•ืืœื˜ ืขืคึผืขืก ืžืขืจ. ืžื™ืจ ื“ืึทืจืคึฟืŸ ืžืขืจ ื•ื•ื™ ื‘ืœื•ื™ื– ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ - ืžื™ืจ ื“ืขืจื•ื•ืึทืจื˜ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึท ืœื™ื™ื–ื•ื ื’ ื•ื•ืึธืก ืงืขืŸ ืจืึทื˜ืขื•ื•ืขืŸ ืื•ื ื“ื– ืคื•ืŸ ื“ื™ ืคืจืื‘ืœืขืžืขืŸ ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ืึท "ืฉื•ื•ืขืจ ืึธื ื”ื™ื™ื‘" ืื™ืŸ PHP, ื•ื•ืึธืก ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ืงืขืŸ ื–ื™ื™ืŸ ืœื™ื™ื›ื˜ ืึทื“ืึทืคึผื˜ื™ื“ ืื•ืŸ ืขืงืกื˜ืขื ื“ืขื“ ืคึฟืึทืจ ืกืคึผืขืฆื™ืคื™ืฉ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ืึทื– ืื™ื–, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืขืจื•ื•ืขืจ.

ืงืขืŸ ื’ื™ื™ืŸ ื”ืขืœืคืŸ ืžื™ื˜ ื“ืขื? ืžื™ืจ ื’ืขื•ื•ืื•ืกื˜ ืึทื– ืขืก ืงืขืŸ ื•ื•ื™ื™ึทืœ ื“ื™ ืฉืคึผืจืึทืš ืงืึทืžืคึผื™ื™ืœื– ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ืื™ื™ืŸ ื‘ื™ื ืึทืจื™ืขืก; ืขืก ืื™ื– ืงืจื™ื™ึทื–-ืคึผืœืึทื˜ืคืึธืจืžืข; ื ื™ืฆื˜ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข, ื–ื™ื™ืขืจ ืขืœืขื’ืึทื ื˜, ืคึผืึทืจืึทืœืขืœ ืคึผืจืึทืกืขืกื™ื ื’ ืžืึธื“ืขืœ (ืงืึทื ืงืขืจืึทื ืกื™) ืื•ืŸ ืึท ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื”ื˜ื˜ืคึผ; ืื•ืŸ ืœืขืกืึธืฃ, ื˜ื•ื™ื–ื ื˜ืขืจ ืคื•ืŸ ืึธืคึฟืŸ-ืžืงื•ืจ ืœื™ื™ื‘ืจืขืจื™ื– ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทื ื– ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ ืฆื• ืื•ื ื“ื–.

ื“ื™ ืฉื•ื•ืขืจื™ืงื™ื™ื˜ืŸ ืคื•ืŸ ืงืึทืžื‘ื™ื™ื ื™ื ื’ ืฆื•ื•ื™ื™ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ื‘ืึทืฉืœื™ืกืŸ ื•ื•ื™ ืฆื•ื•ื™ื™ ืึธื“ืขืจ ืžืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืขื˜ ื™ื‘ืขืจื’ืขื‘ืŸ ืžื™ื˜ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื ื™ืฆืŸ ื•ื™ืกื’ืขืฆื™ื™ื›ื ื˜ ื‘ื™ื‘ืœื™ืึธื˜ืขืง Alex Palaestras, ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืžืขื’ืœืขืš ืฆื• ื˜ื™ื™ืœืŸ ื–ื™ืงืึธืจืŸ ืฆื•ื•ื™ืฉืŸ PHP ืื•ืŸ Go ืคึผืจืึทืกืขืกืึทื– (ืขื ืœืขืš ืฆื• ืžืึธื“_ืคืคึผ โ€‹โ€‹ืื™ืŸ ืึทืคึผืึทื˜ืฉื™). ืึธื‘ืขืจ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื”ืื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื•ื•ืึธืก ื‘ืึทื’ืจืขื ืขืฆืŸ ื–ื™ื™ึทืŸ ื ื•ืฆืŸ ืคึฟืึทืจ ืกืึทืœื•ื•ื™ื ื’ ืื•ื ื“ื–ืขืจ ืคึผืจืึธื‘ืœืขื.

ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื ื•ืฆืŸ ืึท ืึทื ื“ืขืจืฉ, ืžืขืจ ืคึผืจืึธืกื˜ ืฆื•ื’ืึทื ื’: ืฆื• ื‘ื•ื™ืขืŸ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืฆื•ื•ื™ืฉืŸ ืคึผืจืึทืกืขืกืึทื– ื“ื•ืจืš ืกืึทืงืึทืฅ / ืคึผื™ื™ืคึผืœื™ื™ื ื–. ื“ืขืจ ืฆื•ื’ืึทื ื’ ืื™ื– ืคึผืจืึธื•ื•ืขืŸ ืฆื• ื–ื™ื™ืŸ ืคืึทืจืœืึธื–ืœืขืš ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ื“ืขืงืึทื“ืขืก ืื•ืŸ ืื™ื– ื’ืขื–ื•ื ื˜ ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืื•ื™ืฃ ื“ื™ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืžื“ืจื’ื”.

ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜, ืžื™ืจ ื‘ืืฉืืคืŸ ืึท ืคึผืฉื•ื˜ ื‘ื™ื™ื ืขืจื™ ืคึผืจืึธื˜ืึธืงืึธืœ ืคึฟืึทืจ ื™ืงืกื˜ืฉื™ื™ื ื“ื–ืฉื™ื ื’ ื“ืึทื˜ืŸ ืฆื•ื•ื™ืฉืŸ ืคึผืจืึทืกืขืกืึทื– ืื•ืŸ ื”ืึทื ื“ืœื™ื ื’ ื˜ืจืึทื ืกืžื™ืกื™ืข ืขืจืจืึธืจืก. ืื™ืŸ ื–ื™ื™ืŸ ืกื™ืžืคึผืœืึทืกื˜ ืคืึธืจืขื, ื“ืขื ื˜ื™ืคึผ ืคื•ืŸ ืคึผืจืึธื˜ืึธืงืึธืœ ืื™ื– ืขื ืœืขืš ืฆื• ื ืขื˜ืกื˜ืจื™ื ื’ ั ืคืึทืจืคืขืกื˜ื™ืงื˜ ื’ืจื™ื™ืก ืคึผืึทืงืึทื˜ ื›ืขื“ืขืจ (ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ 17 ื‘ื™ื˜ืขืก), ื•ื•ืึธืก ื›ึผื•ืœืœ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ืขื ื˜ื™ืคึผ ืคื•ืŸ ืคึผืึทืงืึทื˜, ื“ื™ ื’ืจื™ื™ืก ืื•ืŸ ืึท ื‘ื™ื™ื ืขืจื™ ืžืึทืกืงืข ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืึธืจื ื˜ืœืขื›ืงื™ื™ึทื˜ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืŸ.

ืื•ื™ืฃ ื“ื™ PHP ื–ื™ื™ึทื˜ ืžื™ืจ ื’ืขื•ื•ื™ื™ื ื˜ ืคึผืึทืง ืคื•ื ืงืฆื™ืข, ืื•ืŸ ืื•ื™ืฃ ื“ื™ ื’ื™ื™ืŸ ื–ื™ื™ึทื˜, ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืงืึธื“ื™ืจื•ื ื’ / ื‘ื™ื™ื ืขืจื™.

ืข ื ื”ื ื˜ ืื•ื ื“ ื– ืื•ื™ืกื’ืขื–ืขืŸ , ื ื– ืืฒ ืŸ ืคืจืื˜ืืงืืœ , ืื™ ื– ื ื™ืฉ ื˜ ื’ืขื ื• ื’ โ€” ืื• ืŸ ืžื™ ืจ ื”ืื‘ ืŸ ืฆื•ื’ืขื’ืขื‘ ืŸ ื“ ื™ ืคืขืื™ืงืฒื˜ ืŸ ืฆ ื• ืจื•ืคืŸ ื ืขื˜ / ืจืคึผืง ื’ื™ื™ืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก ื’ืœื™ื™ึทืš ืคึฟื•ืŸ PHP. ืฉืคึผืขื˜ืขืจ, ื“ืึธืก ื’ืขื”ืึธืœืคึฟืŸ ืื•ื ื“ื– ืึท ืคึผืœืึทืฅ ืื™ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ื•ื•ื™ื™ึทืœ ืžื™ืจ ืงืขื ืขืŸ ืœื™ื™ื›ื˜ ื•ื™ืกืฉื˜ื™ืžืขืŸ Go ืœื™ื™ื‘ืจืขืจื™ื– ืื™ืŸ PHP ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ืขื ืึทืจื‘ืขื˜ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื–ืขืŸ, ืœืžืฉืœ, ืื™ืŸ ืื•ื ื“ื–ืขืจ ืื ื“ืขืจืข ืึธืคึฟืŸ-ืžืงื•ืจ ืคึผืจืึธื“ื•ืงื˜ ื’ืึธืจื™ื“ื’ืข.

ื“ื™ืกื˜ืจื™ื‘ื™ื•ื˜ื™ื ื’ ื˜ืึทืกืงืก ืฆื•ื•ื™ืฉืŸ ืงื™ื™ืคืœ PHP ื˜ื•ืขืจืก

ื ืึธืš ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ื“ื™ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืžืขืงืึทื ื™ื–ืึทื, ืžื™ืจ ืื ื’ืขื”ื•ื™ื‘ืŸ ืฆื• ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ื“ื™ ืžืขืจืกื˜ ืขืคืขืงื˜ื™ื•ื• ื•ื•ืขื’ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื˜ืึทืกืงืก ืฆื• PHP ืคึผืจืึทืกืขืกืึทื–. ื•ื•ืขืŸ ืึท ืึทืจื‘ืขื˜ ืขืจื™ื™ื•ื•ื–, ื“ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืขืจื•ื•ืขืจ ืžื•ื–ืŸ ืงืœื™ื™ึทื‘ืŸ ืึท ืคืจื™ื™ ืึทืจื‘ืขื˜ืขืจ ืฆื• ื•ื™ืกืคื™ืจืŸ ืขืก. ืื•ื™ื‘ ืึท ืึทืจื‘ืขื˜ืขืจ / ืคึผืจืึธืฆืขืก ื’ื™ื™ื˜ ืึทืจื•ื™ืก ืžื™ื˜ ืึท ื˜ืขื•ืช ืึธื“ืขืจ "ืฉื˜ืึทืจื‘ื˜", ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืจื™ื™ึทืขืŸ ืคื•ืŸ ืขืก ืื•ืŸ ืฉืึทืคึฟืŸ ืึท ื ื™ื™ึทืข ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ืขืก. ืื•ืŸ ืื•ื™ื‘ ื“ืขืจ ืึทืจื‘ืขื˜ืขืจ / ืคึผืจืึธืฆืขืก ืื™ื– ื’ืขืขื ื“ื™ืงื˜ ื”ืฆืœื—ื”, ืžื™ืจ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืขืก ืฆื• ื“ื™ ื‘ืขืงืŸ ืคื•ืŸ ื˜ื•ืขืจืก ื‘ื ื™ืžืฆื ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื˜ืึทืกืงืก.

RoadRunner: PHP ืื™ื– ื ื™ืฉื˜ ื’ืขื‘ื•ื™ื˜ ืฆื• ืฉื˜ืึทืจื‘ืŸ, ืึธื“ืขืจ Golang ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ

ืฆื• ืงืจืึธื ื“ื™ ื‘ืขืงืŸ ืคื•ืŸ ืึทืงื˜ื™ื•ื• ื˜ื•ืขืจืก, ืžื™ืจ ื’ืขื•ื•ื™ื™ื ื˜ ื‘ืึทืคืขืจืขื“ ืงืึทื ืึทืœ, ืฆื• ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ืื•ืžื’ืขืจื™ื›ื˜ "ื˜ื•ื™ื˜" ื˜ื•ืขืจืก ืคื•ืŸ ื“ื™ ื‘ืขืงืŸ, ืžื™ืจ ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ืžืขืงืึทื ื™ื–ืึทื ืคึฟืึทืจ ื˜ืจืึทืงื™ื ื’ ืขืจืจืึธืจืก ืื•ืŸ ืฉื˜ืึทื˜ืŸ ืคื•ืŸ ื˜ื•ืขืจืก.

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืืจื‘ืขื˜ืŸ PHP ืกืขืจื•ื•ืขืจ ื•ื•ืึธืก ืื™ื– ื‘ื™ื›ื•ืœืช ืฆื• ืคึผืจืึทืกืขืกื™ื ื’ ืงื™ื™ืŸ ืจื™ืงื•ื•ืขืก ื“ืขืจืœืื ื’ื˜ ืื™ืŸ ื‘ื™ื™ื ืขืจื™ ืคืึธืจืขื.

ื›ึผื“ื™ ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื–ืึธืœ ืึธื ื”ื™ื™ื‘ืŸ ืืจื‘ืขื˜ืŸ ื•ื•ื™ ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ, ืžื™ืจ ื”ืึธื‘ืŸ ืฆื• ืงืœื™ื™ึทื‘ืŸ ืึท ืคืึทืจืœืึธื–ืœืขืš PHP ื ืึธืจืžืึทืœ ืฆื• ืคืึธืจืฉื˜ืขืœืŸ ืงื™ื™ืŸ ื™ื ืงืึทืžื™ื ื’ ื”ื˜ื˜ืคึผ ืจื™ืงื•ื•ืขืก. ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืžื™ืจ ื ืึธืจ ื™ื‘ืขืจืžืึทื›ืŸ ื ืขืฅ / ื”ื˜ื˜ืคึผ ื‘ืขื˜ืŸ ืคื•ืŸ ื’ื™ื™ืŸ ืฆื• ืคึฟืึธืจืžืึทื˜ ืคึผืกืจ-ืงืกื ื•ืžืงืกืึทื–ื•ื™ ืึทื– ืขืก ืื™ื– ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืžื™ื˜ ืจื•ื‘ึฟ ืคื•ืŸ ื“ื™ PHP ืคืจืึทืžืขื•ื•ืึธืจืงืก ื‘ื ื™ืžืฆื ื”ื™ื™ึทื ื˜.

ื•ื•ื™ื™ึทืœ PSR-7 ืื™ื– ื’ืขืจืขื›ื ื˜ ื•ื•ื™ ื™ืžื™ื•ื˜ืึทื‘ืึทืœ (ืขื˜ืœืขื›ืข ื•ื•ืึธืœื˜ ื–ืึธื’ืŸ ื˜ืขืงื ื™ืงืœื™ ืขืก ืื™ื– ื ื™ืฉื˜), ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื”ืึธื‘ืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ืžื™ื™ึทื›ืœ ื“ื™ ื‘ืงืฉื” ื•ื•ื™ ืึท ื’ืœืื‘ืืœืข ืขื ื˜ื™ื˜ื™ ืื™ืŸ ืคึผืจื™ื ืฆื™ืคึผ. ื“ืึธืก ืคื™ืฅ ื ื™ื™ืกืœื™ ืžื™ื˜ ื“ืขืจ ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ ืœืึทื ื’-ื’ืขืœืขื‘ื˜ PHP ืคึผืจืึทืกืขืกืึทื–. ืื•ื ื“ื–ืขืจ ืœืขืฆื˜ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ, ื•ื•ืึธืก ืื™ื– ื ืึธืš ืฆื• ื–ื™ื™ืŸ ื’ืขื”ื™ื™ืกืŸ, ื’ืขืงื•ืงื˜ ื•ื•ื™ ื“ืึธืก:

RoadRunner: PHP ืื™ื– ื ื™ืฉื˜ ื’ืขื‘ื•ื™ื˜ ืฆื• ืฉื˜ืึทืจื‘ืŸ, ืึธื“ืขืจ Golang ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ

ื™ื ื˜ืจืึธื“ื•ืกื™ื ื’ RoadRunner - ื”ื•ื™ืš ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคืคึผ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืขืจื•ื•ืขืจ

ืื•ื ื“ื–ืขืจ ืขืจืฉื˜ืขืจ ืคึผืจื•ื‘ื™ืจืŸ ืึทืจื‘ืขื˜ ืื™ื– ื’ืขื•ื•ืขืŸ ืึทืŸ ืึทืคึผื™ ื‘ืึทืงืขื ื“, ื•ื•ืึธืก ืคึผื™ืจื™ืึทื“ื™ืงืœื™ ืคึผืœืึทืฆืŸ ืึทื ืคึผืจื™ื“ื™ืงื˜ืึทื‘ืœื™ (ืคื™ืœ ืžืขืจ ืึธืคื˜ ื•ื•ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš). ื›ืึธื˜ืฉ nginx ืื™ื– ื’ืขื ื•ื’ ืื™ืŸ ืจื•ื‘ึฟ ืงืึทืกืขืก, ืžื™ืจ ืงืขืกื™ื™ื“ืขืจ ื’ืขืคึผืœืึธื ื˜ืขืจื˜ 502 ืขืจืจืึธืจืก ื•ื•ื™ื™ึทืœ ืžื™ืจ ืงืขืŸ ื ื™ืฉื˜ ื‘ืึทืœืึทื ืกื™ืจืŸ ื“ื™ ืกื™ืกื˜ืขื ื’ืขืฉื•ื•ื™ื ื“ ื’ืขื ื•ื’ ืคึฟืึทืจ ื“ื™ ื“ืขืจื•ื•ืึทืจื˜ ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืžืึทืกืข.

ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ืขื ืœื™ื™ื–ื•ื ื’, ืžื™ืจ ื“ื™ืคึผืœื•ื™ื“ ืื•ื ื“ื–ืขืจ ืขืจืฉื˜ืขืจ PHP / Go ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืขืจื•ื•ืขืจ ืื™ืŸ ืคืจื™ 2018. ืื•ืŸ ืžื™ื“ ื’ืึทื˜ ืึท ื’ืœื™ื™ื‘ืŸ ื•ื•ื™ืจืงื•ื ื’! ื ื™ื˜ ื‘ืœื•ื™ื– ื”ืึธื‘ืŸ ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืจื™ื™ึทืขืŸ ืคื•ืŸ ื“ื™ 502 ื˜ืขื•ืช ื’ืึธืจ, ืึธื‘ืขืจ ืžื™ืจ ื–ืขื ืขืŸ ื‘ื™ื›ื•ืœืช ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืกืขืจื•ื•ืขืจืก ืžื™ื˜ ืฆื•ื•ื™ื™-ื˜ืขืจื“ื–, ืฉืคึผืึธืจืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื’ืขืœื˜ ืื•ืŸ ืงืึธืคึผื•ื•ื™ื™ื˜ื™ืง ืคึผื™ืœื– ืคึฟืึทืจ ืขื ื“ื–ืฉืึทื ื™ืจื– ืื•ืŸ ืคึผืจืึธื“ื•ืงื˜ ืžืึทื ืึทื“ื–ืฉืขืจื–.

ืื™ืŸ ืžื™ื˜ืŸ ื™ืึธืจ, ืžื™ืจ ื”ืึธื‘ืŸ ื™ืžืคึผืจื•ื•ื•ื“ ืื•ื ื“ื–ืขืจ ืœื™ื™ื–ื•ื ื’, ืืจื•ื™ืก ืื•ื™ืฃ GitHub ืื•ื ื˜ืขืจ ื“ื™ MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืื•ืŸ ื’ืขื”ื™ื™ืกืŸ ืขืก. ืจืึธืึทื“ืจื•ื ื ืขืจ, ืึทื–ื•ื™ ืขืžืคืึทืกื™ื™ื–ื™ื ื’ ื–ื™ื™ึทืŸ ื’ืœื™ื™ื‘ืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืื•ืŸ ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜.

ื•ื•ื™ RoadRunner ืงืขื ืขืŸ ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ื™ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืึธื ืœื™ื™ื’ืŸ

ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ ืจืึธืึทื“ืจื•ื ื ืขืจ ื“ืขืจืœื•ื™ื‘ื˜ ืื•ื ื“ื– ืฆื• ื ื•ืฆืŸ ืžื™ื“ื“ืœืขื•ื•ืึทืจืข ื ืขืฅ / ื”ื˜ื˜ืคึผ ืื•ื™ืฃ ื“ื™ ื’ื™ื™ืŸ ื–ื™ื™ึทื˜ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ JWT ื•ื•ืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ ืื™ื™ื“ืขืจ ื“ื™ ื‘ืขื˜ืŸ ืจื™ื˜ืฉืึทื– PHP, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืฉืขืคึผืŸ ื•ื•ืขื‘ืกืึธืงืงืขืฅ ืื•ืŸ ื’ืขืžื™ื™ื ื–ืึทื ืฉื˜ืึทื˜ ื’ืœืึธื•ื‘ืึทืœื™ ืื™ืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก.

ื“ืึทื ืง ืฆื• ื“ื™ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืจืคึผืง, ืื™ืจ ืงืขื ืขืŸ ืขืคึฟืขื ืขืŸ ื“ื™ ืึทืคึผื™ ืคื•ืŸ ืงื™ื™ืŸ ื’ืึธ ืœื™ื™ื‘ืจืขืจื™ื– ืคึฟืึทืจ PHP ืึธืŸ ืฉืจื™ื™ื‘ืŸ ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ืจืึทืคึผืขืจื–. ืžืขืจ ื™ืžืคึผืึธืจื˜ืึทื ื˜ืœื™, ืžื™ื˜ RoadRunner ืื™ืจ ืงืขื ืขืŸ ืฆืขื•ื•ื™ืงืœืขืŸ ื ื™ื™ึท ื ื™ื˜-ื”ื˜ื˜ืคึผ ืกืขืจื•ื•ืขืจืก. ื‘ื™ื™ืฉืคื™ืœืŸ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืคืœื™ืกื ื“ื™ืง ื”ืึทื ื“ืœืขืจืก ืื™ืŸ PHP AWS Lambda, ืงืจื™ื™ื™ื˜ื™ื ื’ ืคืึทืจืœืึธื–ืœืขืš ืจื™ื™ ื‘ืจื™ื™ืงืขืจื–, ืื•ืŸ ืืคื™ืœื• ืึทื“ื™ื ื’ ื’ืจืคึผืง ืฆื• ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.

ืžื™ื˜ ื“ื™ ื”ื™ืœืฃ ืคื•ืŸ ื“ื™ PHP ืื•ืŸ Go ืงื”ื™ืœื•ืช, ืžื™ืจ ื™ืžืคึผืจื•ื•ื•ื“ ื“ื™ ืคืขืกื˜ืงื™ื™ึทื˜ ืคื•ืŸ ื“ื™ ืœื™ื™ื–ื•ื ื’, ื’ืขื•ื•ืืงืกืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึทืจื•ื™ืฃ ืฆื• 40 ืžืืœ ืื™ืŸ ืขื˜ืœืขื›ืข ื˜ืขืกืฅ, ื™ืžืคึผืจื•ื•ื•ื“ ื“ื™ื‘ืึทื’ื™ื ื’ ืžื›ืฉื™ืจื™ื, ื™ืžืคึผืœืึทืžืขื ืึทื“ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ืžื™ื˜ ื“ื™ ืกื™ืžืคืึธื ื™ ืคืจื™ื™ืžื•ื•ืขืจืง ืื•ืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ HTTPS, HTTP/2, ืคึผืœื•ื’ื™ื ืก ืื•ืŸ PSR-17.

ืกืึธืฃ

ืขื˜ืœืขื›ืข ืžืขื ื˜ืฉืŸ ื–ืขื ืขืŸ ื ืึธืš ื’ืขื›ืืคื˜ ืื™ืŸ ื“ื™ ืึทื•ื˜ืžืึธื“ืขื“ ื’ืขื“ืึทื ืง ืคื•ืŸ PHP ื•ื•ื™ ืึท ืคึผืึทืžืขืœืขืš, ืึทื ื•ื•ื™ืœื“ื™ ืฉืคึผืจืึทืš ื‘ืœื•ื™ื– ื’ื•ื˜ ืคึฟืึทืจ ืฉืจื™ื™ื‘ืŸ ืคึผืœื•ื’ื™ื ืก ืคึฟืึทืจ ื•ื•ืึธืจื“ืคึผืจืขืกืก. ื“ื™ ืžืขื ื˜ืฉืŸ ืงืขืŸ ืืคื™ืœื• ื–ืึธื’ืŸ ืึทื– PHP ื”ืื˜ ืึทื–ืึท ืึท ื‘ืึทื’ืจืขื ืขืฆื•ื ื’: ื•ื•ืขืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืขืจื˜ ื’ืจื•ื™ืก ื’ืขื ื•ื’, ืื™ืจ ืžื•ื–ืŸ ืงืœื™ื™ึทื‘ืŸ ืึท ืžืขืจ "ื“ืขืจื•ื•ืึทืงืกืŸ" ืฉืคึผืจืึทืš ืื•ืŸ ืจื™ืจื™ื™ื˜ ื“ื™ ืงืึธื“ ื‘ืึทื–ืข ืึทืงื™ื•ืžื™ืึทืœื™ื™ื˜ื™ื“ ืื™ื‘ืขืจ ืคื™ืœืข ื™ืึธืจืŸ.

ืื•ื™ืฃ ื“ืขื ืืœืขืก ื•ื•ื™ืœ ืื™ืš ืขื ื˜ืคืขืจืŸ: ื˜ืจืื›ื˜ ื ืื›ืืžืืœ. ืžื™ืจ ื’ืœื•ื™ื‘ืŸ ืึทื– ื‘ืœื•ื™ื– ืื™ืจ ืฉื˜ืขืœืŸ ืงื™ื™ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ืคึฟืึทืจ PHP. ืื™ืจ ืงืขื ืขืŸ ืคืึทืจื‘ืจืขื ื’ืขืŸ ื“ื™ื™ืŸ ื’ืึทื ืฅ ืœืขื‘ืŸ ื™ื‘ืขืจื’ืึทื ื’ ืคื•ืŸ ืื™ื™ืŸ ืฉืคึผืจืึทืš ืฆื• ืื ื“ืขืจืŸ, ื˜ืจื™ื™ื ื’ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ืฉืœื™ื™ืžืขืกื“ื™ืง ื’ืœื™ื™ึทื›ืŸ ืคึฟืึทืจ ื“ื™ื™ืŸ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ, ืึธื“ืขืจ ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ืฉืคึผืจืึทื›ืŸ ื•ื•ื™ ืžื›ืฉื™ืจื™ื. ื“ื™ ื’ืขืžื™ื™ื ื˜ ืคืœืึธื– ืคื•ืŸ ืึท ืฉืคึผืจืึทืš ื•ื•ื™ PHP ืงืขืŸ ื–ื™ื™ืŸ ื“ื™ ืกื™ื‘ื” ืคึฟืึทืจ ื–ื™ื™ืŸ ื”ืฆืœื—ื”. ืื•ืŸ ืื•ื™ื‘ ืื™ืจ ืคืึทืจื‘ื™ื ื“ืŸ ืขืก ืžื™ื˜ ืืŸ ืื ื“ืขืจ ืฉืคึผืจืึทืš ื•ื•ื™ Go, ืื™ืจ ื•ื•ืขื˜ ืžืึทื›ืŸ ืคื™ืœ ืžืขืจ ืฉื˜ืึทืจืง ืคึผืจืึธื“ื•ืงื˜ืŸ ื•ื•ื™ ืื•ื™ื‘ ืื™ืจ ื’ืขื•ื•ืขืŸ ืœื™ืžื™ื˜ืขื“ ืฆื• ื ื•ืฆืŸ ืงื™ื™ืŸ ืื™ื™ืŸ ืฉืคึผืจืึทืš.

ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขืืจื‘ืขื˜ ืžื™ื˜ ืึท ื‘ื™ื ื˜ืœ ืคื•ืŸ Go ืื•ืŸ PHP, ืžื™ืจ ืงืขื ืขืŸ ื–ืึธื’ืŸ ืึทื– ืžื™ืจ ืœื™ื‘ืข ื–ื™ื™. ืžื™ืจ ืคึผืœืึทืŸ ื ื™ืฉื˜ ืฆื• ืงืจื‘ืŸ ืื™ื™ื ืขืจ ืคึฟืึทืจ ื“ื™ ืื ื“ืขืจืข - ืคืึทืจืงืขืจื˜, ืžื™ืจ ื•ื•ืขืœืŸ ื–ื•ื›ืŸ ื•ื•ืขื’ืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื ืึธืš ืžืขืจ ื•ื•ืขืจื˜ ืคื•ืŸ ื“ืขื ืฆื•ื•ื™ื™ืขื ื“ื™ืง ืกื˜ืึทืง.

UPD: ืžื™ืจ ื‘ืึทื’ืจื™ืกืŸ ื“ืขื ื‘ืืฉืขืคืขืจ ืคื•ืŸ RoadRunner ืื•ืŸ ื“ืขืจ ืงืึธ-ืžื—ื‘ืจ ืคื•ืŸ ื“ืขืจ ืึธืจื™ื’ื™ื ืขืœ ืึทืจื˜ื™ืงืœ - ืœืื˜ืฉืขืกื™ืก

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’