spiral/roadrunner-bridge
Bridge RoadRunner plugins into Spiral Framework apps. Provides bootloaders for HTTP, Queue/Jobs, KV Cache, gRPC, Centrifugo, TCP, Metrics, Logger, Locks, and scaffolding integration. Requires PHP 8.1+ and Spiral 3.14+.
Architecture fit: The package aligns well with Laravel's architecture by abstracting RoadRunner's worker model into familiar Laravel bootstrapping. It replaces the traditional per-request PHP lifecycle with persistent workers, reducing bootstrap overhead for high-throughput APIs. However, Laravel's default stateful patterns (e.g., global variables, static caches) may conflict with long-lived workers, requiring careful state management. RoadRunner's Go-based server acts as a reverse proxy, but the bridge must handle seamless communication between HTTP requests and Laravel's kernel without leaking state between requests.
Integration feasibility: Integration is feasible via Composer installation and minimal configuration changes. RoadRunner requires a separate Go binary and YAML configuration, but the bridge provides Laravel-specific bootstrapping (e.g., replacing public/index.php with a RoadRunner-compatible entrypoint). Compatibility with existing Laravel middleware and service providers is likely, but third-party packages relying on per-request initialization (e.g., certain caching or session handlers) may need adjustments.
Technical risk: High risk around state management (e.g., stale database connections, memory leaks from unreset caches) and compatibility with Laravel features like queue workers or console commands. RoadRunner's dependency on PHP extensions (e.g., swoole or pcntl) could complicate deployment in restricted environments. Limited public repository details (described as "unknown") raise concerns about transparency, community support, and issue resolution.
Key questions:
How can I help you explore Laravel packages today?