spiral/roadrunner-grpc
Laravel-friendly integration for RoadRunner gRPC: run high-performance PHP gRPC servers/workers, handle protobuf-based services, and communicate with the RoadRunner runtime for fast, long-lived processes and efficient microservices.
.proto file definition (service + message schemas).protoc with PHP/gRPC plugins (included in google/protobuf and grpc/grpc packages).grpc_server.php) to initialize the RoadRunner gRPC worker loop..rr.yaml snippet to enable the gRPC plugin.numWorkers, maxJobs).Spiral\Framework\Core\Container as a facade).protoc and plugins (e.g., grpc_php_plugin).numWorkers/maxJobs can lead to connection starvation or high memory usage.protoc, buf for linting)?.proto files in the codebase, or will this require a new schema-first design?google/protobuf v4.x per v3.4.0+).grpc/grpc Composer package for stub generation).Spiral\Framework\Core\Container alongside Laravel’s container (may require bridge packages like spiral/laravel).App\Models\User) into gRPC handlers via constructor injection.event(new OrderCreated($data))).protoc: For .proto → PHP stub generation.buf (optional): For Protobuf linting and schema registry.roadrunner/roadrunner:latest).spiral/roadrunner-grpc and roadrunner/roadrunner..proto service (e.g., ping.pong).grpcurl or a Go client.spiral/laravel to merge Laravel’s and Spiral’s containers.grpc.rr.yaml) to avoid container conflicts.artisan or public/index.php to conditionally load RoadRunner’s gRPC worker.spiral/prometheus).Monolog + Spiral\RoadRunner\Logger).numWorkers=4 vs. 8) under load.google/protobuf v4.x (added in v3.4.0).laravel-grpc; this is a RoadRunner-first solution..rr.yaml:
version: '3'
rpc:
listen: tcp://0.0.0.0:6001
grpc:
active: true
workers:
command: 'php public/grpc_server.php'
How can I help you explore Laravel packages today?