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.
Original author(s) | Anton Titov |
---|---|
Initial release | January 2018 |
Stable release | 2.10.4
/ June 10, 2022 |
Repository | |
Written in | Golang, PHP |
Type | Application server |
License | MIT License |
Website | roadrunner |
History
Development on RoadRunner began in 2017 by Anton Titov and released in 2018 on GitHub, under an MIT license. "Introducing RoadRunner: A High-Performance PHP Application Server". 19 November 2018. By the middle of 2018, we polished the approach, published it to GitHub under an MIT license and called it RoadRunner which described its incredible speed and efficiency.
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 under an MIT license. It can be downloaded and installed as a package from the project page or from GitHub.
Versions
Version | Release Date |
---|---|
v0.9.0 | 28 January 2018 |
v1.0.0 | 13 June 2018 |
v1.1.1 | 6 July 2018 |
v1.2.8 | 26 December 2018 |
v1.3.7 | 21 March 2019 |
v1.4.8 | 6 September 2019 |
v1.5.1 | 10 October 2019 |
v1.6.0 | 11 February 2020 |
v1.7.0 | 23 March 2020 |
v1.8.0 | 5 May 2020 |
References
- New Dedicated Application Server Revs PHP to Peak Performance - DZone Performance
- RoadRunner, the PHP Application Server written in Golang
- Roadrunner & Zend Expressive & Cycle ORM. Not allow to php to die.
- Roadrunner: a PHP application server
- RoadRunner: PHP is not created to die, or Golang to the rescue
- RoadRunner: PHP не создан, чтобы умирать, или Golang спешит на помощь
- spiral/roadrunner - Packagist
- RoadRunner – High-Speed PHP Applications
- Roadrunner – High-performance PHP application server, load-balancer, and process manager written in Golang | PHPnews.io
External links
- Official website
- PHP to Golang IPC bridge
- GRPC server
- Message queue