RoadRunner (application server)

Last updated
RoadRunner
Original author(s) Anton Titov
Initial releaseJanuary 2018;6 years ago (2018-01)
Stable release
2.10.4 / June 10, 2022;21 months ago (2022-06-10)
Repository
Written in Golang, PHP
Type Application server
License MIT License
Website roadrunner.dev   OOjs UI icon edit-ltr-progressive.svg

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. [1]

Contents

History

Development on RoadRunner began in 2017 by Anton Titov and was 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

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

VersionRelease Date
v0.9.028 January 2018
v1.0.013 June 2018
v1.1.16 July 2018
v1.2.826 December 2018
v1.3.721 March 2019
v1.4.86 September 2019
v1.5.110 October 2019
v1.6.011 February 2020
v1.7.023 March 2020
v1.8.05 May 2020

Related Research Articles

<span class="mw-page-title-main">PHP</span> Scripting language created in 1994

PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. PHP was originally an abbreviation of Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext Preprocessor.

An application server is a server that hosts applications or software that delivers a business application through a communication protocol. For a typical web application, the application server sits behind the web servers.

The Zend Engine is a compiler and runtime environment for the PHP scripting language and consists of the Zend Virtual Machine, which is composed of the Zend Compiler and the Zend Executor, that compiles and executes the PHP code. It was originally developed by Andi Gutmans and Zeev Suraski while they were students at the Technion – Israel Institute of Technology. They later founded a company called Zend Technologies in Ramat Gan, Israel. The name Zend is a combination of their forenames, Zeev and Andi.

Zend Studio is a commercial, proprietary integrated development environment (IDE) for PHP developed by Zend Technologies, based on the PHP Development Tools (PDT) plugin for the Eclipse platform.

<span class="mw-page-title-main">Symfony</span> PHP web application framework for MVC applications

Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License.

Laminas Project is an open source, object-oriented web application framework implemented in PHP 7 and licensed under the New BSD License. The framework is basically a collection of professional PHP-based packages. The framework uses various packages by the use of Composer as part of its package dependency managers; some of them are PHPUnit for testing all packages, Travis CI for continuous Integration Services. Laminas provides to users a support of the model–view–controller (MVC) in combination with Front Controller solution. MVC implementation in Laminas has five main areas. The router and dispatcher functions to decide which controller to run based on data from URL, and controller functions in combination with the model and view to develop and create the final web page.

This is a comparison of notable web frameworks, software used to build and deploy web applications.

Zend Server is a complete and certified PHP distribution stack originally developed by Zend Technologies intended for high performance and scalable use cases.

<span class="mw-page-title-main">Slowloris (computer security)</span> Software for executing a denial-of-service attack

Slowloris is a type of denial of service attack tool which allows a single machine to take down another machine's web server with minimal bandwidth and side effects on unrelated services and ports.

HipHop for PHP (HPHPc) is a discontinued PHP transpiler created by Facebook. By using HPHPc as a source-to-source compiler, PHP code is translated into C++, compiled into a binary and run as an executable, as opposed to the PHP's usual execution path of PHP code being transformed into opcodes and interpreted. HPHPc consists mainly of C++, C and PHP source codes, and it is free and open-source software distributed under the PHP License.

<span class="mw-page-title-main">Cherokee (web server)</span> Open source web server software application

Cherokee is an open-source cross-platform web server that runs on Linux, BSD variants, Solaris, OS X, and Windows. It is a lightweight, high-performance web server/reverse proxy licensed under the GNU General Public License. Its goal is to be fast and fully functional yet still light. Major features of Cherokee include a graphical administration interface named cherokee-admin, and a modular light-weight design.

<span class="mw-page-title-main">Laravel</span> Open source web application framework, written in PHP

Laravel is a free and open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. Some of the features of Laravel are a modular packaging system with a dedicated dependency manager, different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and its orientation toward syntactic sugar.

appserver.io is an application server for PHP-based web environments. The project consists of middleware which delivers classical PHP web applications and provides additional services.

<span class="mw-page-title-main">Phalcon (framework)</span>

Phalcon is a PHP web framework based on the model–view–controller (MVC) pattern. Originally released in 2012, it is an open-source framework licensed under the terms of the BSD License.

<span class="mw-page-title-main">Movim</span>

Movim is a distributed social network built on top of XMPP, a popular open standards communication protocol. Movim is a free and open source software licensed under the AGPL-3.0-or-later license. It can be accessed using existing XMPP clients and Jabber accounts.

Blackfire Profiler is a tool that instruments PHP applications to gather data about consumed server resources like memory, CPU time, and I/O operations. Blackfire is also a SaaS service to visualize any callgrind-compatible profile.

<span class="mw-page-title-main">October (CMS)</span> Content management system

October is a self-hosted content management system (CMS) based on the PHP programming language and Laravel web application framework. It supports MariaDB, MySQL, PostgreSQL, SQLite and SQL Server for the database back end and uses a flat file database for the front end structure. The October CMS covers a range of capabilities such as users, permissions, themes, and plugins, and is seen as a simpler alternative to WordPress.

Enduro/X is an open-source middleware platform for distributed transaction processing. It is built on proven APIs such as X/Open group's XATMI and XA. The platform is designed for building real-time microservices based applications with a clusterization option. Enduro/X functions as an extended drop-in replacement for Oracle Tuxedo. The platform uses in-memory POSIX Kernel queues which insures high interprocess communication throughput.

References

  1. Aditya (2023-12-06). "RoadRunner – high-performance server for PHP application". aadityacademy.com. Retrieved 2023-12-06.
  1. New Dedicated Application Server Revs PHP to Peak Performance - DZone Performance
  2. RoadRunner, the PHP Application Server written in Golang
  3. Roadrunner & Zend Expressive & Cycle ORM. Not allow to php to die.
  4. Roadrunner: a PHP application server
  5. RoadRunner: PHP is not created to die, or Golang to the rescue
  6. RoadRunner: PHP не создан, чтобы умирать, или Golang спешит на помощь
  7. spiral/roadrunner - Packagist
  8. RoadRunner – High-Speed PHP Applications
  9. Roadrunner – High-performance PHP application server, load-balancer, and process manager written in Golang | PHPnews.io