RoadRunner (application server)
RoadRunner is an open-source application server, load-balancer and process manager written in Go and implemented by PHP 7. It is used in rapid application development to speed up the performance of large web applications for users.
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
- Frontend agnostic
- Background job processing
- gRPC server and clients
- Pub/Sub and WebSockets broadcasting
- Integrated metrics server
- Integrations with Symfony, Laravel, Slim, CakePHP, Zend Expressive, Spiral
Licensing