RoadRunner (application server)

RoadRunner is an open-source application server, load-balancer and process manager written in Golang (Go) and implemented by PHP 7. It is used in rapid application development to speed up the performance of large web applications for users. It is often used in conjunction with frameworks like Symfony, Laravel, and others to enhance the performance and responsiveness of PHP web applications.

History
Development on RoadRunner began in 2017 by Anton Titov and was released in 2018 on GitHub, under an MIT license.

RoadRunner was created to handle the peak loads of a large-scale PHP application developed by Spiral Scout. The end application was experiencing anomaly peaks in very short spurts of time, which did not allow classic load balancing mechanisms to activate.

Roadrunner uses multi-threading to keep a PHP application in memory between requests, allowing it to eliminate boot loading and code loading processes and reduce latency. Improved RPC communication between the PHP application and its server processes gives Roadrunner the ability to offload some of the heavy communication from PHP to Go.

Application Features

 * Production-ready PSR-7 compatible HTTP, HTTP2, FastCGI server
 * No external PHP dependencies (64bit version required)
 * Frontend agnostic (Queue, PSR-7, GRPC, etc.)
 * Background job processing (AMQP, Amazon SQS, Beanstalk and memory)
 * GRPC server and clients
 * Pub/Sub and Websockets broadcasting
 * Integrated metrics server (Prometheus)
 * Integrations with Symfony, Laravel, Slim, CakePHP, Zend Expressive, Spiral

Licensing
RoadRunner is a free open-source software released under an MIT license. It can be downloaded and installed as a package from the project page or from GitHub.