Apa Itu RoadRunner? Pengertian, Contoh, dan Cara Installnya

Bagikan artikel ini 🫰🏻

Banyak developer kini mulai mencari solusi alternatif agar aplikasi mereka bisa berjalan lebih cepat, lebih ringan, dan lebih efisien. Salah satu alat yang belakangan ini mulai menarik perhatian adalah RoadRunner.

Nah Sebelumnya kita telah membahasa frankenphp dan swole Tapi sebenarnya, apa itu RoadRunner? Mengapa banyak yang mulai beralih dari PHP-FPM ke RoadRunner? Dan bagaimana cara menggunakannya? panduan ini akan mengupas secara lengkap mulai dari pengertian, contoh penggunaannya, hingga langkah-langkah instalasinya.

Pengertian RoadRunner

Secara sederhana, RoadRunner adalah application server untuk PHP yang dibuat menggunakan bahasa pemrograman Go. Tujuannya adalah untuk menggantikan peran dari PHP-FPM dengan cara yang jauh lebih cepat dan efisien.

Berbeda dengan PHP-FPM yang memproses request dengan memulai ulang proses PHP setiap kali ada permintaan masuk, RoadRunner menjaga worker PHP tetap hidup di memori. Hal ini memungkinkan eksekusi aplikasi PHP berlangsung jauh lebih cepat karena tidak perlu melakukan inisialisasi ulang terus-menerus.

RoadRunner dikembangkan oleh Spiral Scout dan merupakan proyek open-source. Alat ini mendukung berbagai fitur seperti:

  • HTTP server
  • gRPC
  • Task queue
  • PSR-7/PSR-15 support
  • Dan masih banyak lagi

Karena dibuat dengan bahasa Go, RoadRunner juga sangat stabil dan ringan ketika dijalankan pada server dengan spesifikasi rendah sekalipun.

Contoh Penggunaan RoadRunner

Untuk memahami cara kerja RoadRunner, mari lihat sebuah contoh sederhana aplikasi HTTP dengan Laravel:

Misalnya ada API Laravel yang sering dipakai untuk validasi user atau transaksi. Ketika menggunakan PHP-FPM, setiap request akan membutuhkan waktu ekstra untuk mem-booting ulang Laravel, melakukan autoloading, membaca konfigurasi, dll.

Namun dengan RoadRunner, semua itu hanya dilakukan sekali di awal. Setelah worker hidup, proses loading hanya terjadi satu kali, dan request berikutnya tinggal diteruskan ke worker yang sudah aktif. Hasilnya, response time bisa meningkat 2–5 kali lipat lebih cepat.

Cara Install RoadRunner

Berikut adalah langkah-langkah instalasi RoadRunner pada sistem berbasis Linux/Unix. Untuk Windows, caranya hampir sama.

1. Siapkan project PHP

Sebelum memasang RoadRunner, pastikan sudah memiliki project PHP atau Laravel yang siap digunakan.

2. Install RoadRunner via Composer

Cara paling praktis adalah menggunakan paket melalui Composer:

composer require spiral/roadrunner

Namun biasanya ini hanya akan menginstal dependensi. Untuk menjalankan server, perlu file binary RoadRunner.

3. Download Binary RoadRunner

Kunjungi https://github.com/roadrunner-server/roadrunner/releases dan download versi terbaru untuk sistem operasi yang digunakan.

Setelah diunduh, berikan hak akses eksekusi:

chmod +x roadrunner

Lalu pindahkan ke direktori global agar bisa digunakan dari mana saja:

sudo mv roadrunner /usr/local/bin/rr

4. Buat File Konfigurasi

RoadRunner menggunakan file .rr.yaml untuk mengatur cara server berjalan. Contoh konfigurasi dasar:

rpc:
  listen: tcp://127.0.0.1:6001

server:
  command: "php worker.php"
  relay: pipes

http:
  address: 0.0.0.0:8080
  middleware: ["headers"]

  headers:
    response:
      X-Powered-By: "RoadRunner"

File worker.php berfungsi sebagai penghubung antara RoadRunner dan aplikasi PHP.

5. Buat Worker PHP

Contoh sederhana worker PHP:

<?php

use Spiral\RoadRunner\Worker;
use Nyholm\Psr7\Factory\Psr17Factory;
use Spiral\RoadRunner\Http\PSR7Worker;

require 'vendor/autoload.php';

$psrFactory = new Psr17Factory();
$worker = new PSR7Worker(
    Worker::create(),
    $psrFactory,
    $psrFactory,
    $psrFactory
);

while ($request = $worker->waitRequest()) {
    try {
        $response = new \Nyholm\Psr7\Response();
        $response->getBody()->write("Hello from RoadRunner!");
        $worker->respond($response);
    } catch (\Throwable $e) {
        $worker->getWorker()->error((string)$e);
    }
}

6. Jalankan RoadRunner

Setelah semua siap, jalankan server dengan perintah:

rr serve

Jika tidak ada error, server akan langsung aktif di port 8080. Buka browser dan akses http://localhost:8080 untuk melihat hasilnya.

RoadRunner + Laravel

Untuk Laravel, tidak perlu menulis worker manual. Cukup gunakan package seperti spiral/roadrunner-laravel.

Instalasi dan setup-nya cukup mudah:

composer require spiral/roadrunner-laravel
php artisan vendor:publish --provider="Spiral\RoadRunnerLaravel\Providers\RoadRunnerServiceProvider"

Lalu jalankan dengan:

php artisan octane:start --server=roadrunner

Laravel akan secara otomatis menggunakan konfigurasi Octane dan mengoptimalkan performa aplikasinya.

Kesimpulan

RoadRunner hadir sebagai solusi modern untuk menjalankan aplikasi PHP dengan performa tinggi. Dengan pendekatan worker yang tetap hidup, waktu respon aplikasi bisa dipangkas drastis, terutama pada aplikasi berbasis API atau real-time service.

Demikian panduan Apa Itu RoadRunner? Pengertian, Contoh, dan Cara Installnya, Semoga bisa Bermanfaat 🙂

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rata rata rating 0 / 5. Jumlah rate 0

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Artikel Terkait

Leave a Reply

Your email address will not be published. Required fields are marked *