본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

RoadRunner

0

RoadRunner은 Spiral Scout에서 개발한 오픈소스 고성능 PHP 애플리케이션 서버입니다.

Windows 지원성능 최적화애플리케이션 서버오픈소스플러그인

소개

RoadRunner은 Spiral Scout에서 개발한 오픈소스 고성능 PHP 애플리케이션 서버입니다. Go로 작성된 프로세스 매니저이며, 플러그인 기반 아키텍처를 통해 HTTP, gRPC, 큐, 워크플로우 등 다양한 기능을 확장할 수 있습니다. 전통적인 Nginx+FPM 설정을 대체하여 더 높은 성능과 유연성을 제공하며, Windows를 포함한 크로스플랫폼 환경을 지원합니다.

상세정보

HTTP(S)/2/3 및 fCGI 서버

PSR-7/PSR-17 표준과 호환되는 HTTP 서버를 제공하며, 자동 TLS 관리, 103 Early Hints 지원, 다양한 미들웨어(Static, Headers, gzip, Prometheus 메트릭스, OTEL 등)를 포함합니다.

큐 및 키-값 드라이버

RabbitMQ, Kafka, SQS, Beanstalk, NATS, In-Memory 등을 지원하는 큐 드라이버와 Redis, Memcached, BoltDB, In-Memory를 지원하는 KV 드라이버를 제공합니다.

고급 기능

OpenTelemetry 프로토콜 지원(gRPC, HTTP, Jaeger), Temporal을 통한 워크플로우 엔진, gRPC 서버, 분산 락 플러그인, 메트릭스 서버, WebSocket 및 Broadcast(Centrifugo 통합), Systemd 유사 서비스 관리자(자동 재시작, 실행 시간 제한자 등)를 포함합니다.

다운로드·설치 방법

Windows 사용자는 Chocolatey 패키지 관리자를 통해 간단히 설치할 수 있습니다. 관리자 권한으로 PowerShell 또는 CMD를 열고 다음 명령을 실행합니다:

choco install roadrunner

이 명령은 최신 안정 버전의 RoadRunner 바이너리를 다운로드하고 시스템 경로에 등록합니다. 설치 후 rr 명령을 통해 서버를 제어할 수 있습니다.

기본 사용법/명령어

설치 후 프로젝트 루트에서 .rr.yaml 설정 파일을 생성하여 서버를 설정할 수 있습니다. 기본 설정 예시는 다음과 같습니다:

version: '3'

rpc:
  listen: tcp://127.0.0.1:6001

server:
  command: "php worker.php"

http:
  address: "0.0.0.0:8080"

logs:
  level: error

설정이 완료되면 다음 명령으로 서버를 시작합니다:

./rr serve -c .rr.yaml

또는 Docker를 사용할 경우:

FROM ghcr.io/roadrunner-server/roadrunner:2025.X.X AS roadrunner
FROM php:8.3-cli

COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr

이런 경우에 유용합니다

고 트래픽 PHP 애플리케이션에서 전통적인 Nginx+PHP-FPM 설정의 성능 한계를 겪는 개발팀에게 유용합니다. 특히 마이크로서비스 아키텍처에서 gRPC, HTTP/2, 또는 비동기 큐 처리가 필요한 경우 RoadRunner의 플러그인 기반 확장을 통해 별도의 인프라 구축 없이 기능을 추가할 수 있습니다. Docker 환경에서의 마이크로서비스 배포나 시스템 수준 프로세스 관리가 필요한 DevOps 팀에도 적합합니다.

지원 환경·시스템 요구사항

RoadRunner은 Windows, macOS, Linux, FreeBSD 및 ARM 아키텍처에서 실행 가능한 바이너리를 제공합니다. Windows에서는 Chocolatey를 통해 설치 가능하며, 실행에는 PHP 8.0 이상이 권장됩니다. 일부 플러그인(예: AMQP 기반 큐)은 해당 서비스의 별도 설치 및 구성이 필요할 수 있습니다.

최신 버전·업데이트

현재 버전은 2025.1.15이며, 정기적인 업데이트를 통해 성능 개선, 보안 패치 및 새로운 플러그인 지원이 제공됩니다. 최신 버전 정보와 업데이트 내역은 공식 GitHub 저장소의 릴리스 페이지에서 확인할 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.