roadrunner
roadrunner copied to clipboard
[💡 FEATURE REQUEST]: Allow Skipping `proxy_address` in Centrifuge Plugin
Plugin
None
I have an idea!
Currently, the RoadRunner Centrifuge plugin requires both proxy_address for receiving events and grpc_api_address for sending requests. However, in a microservice architecture, only one service typically listens to events from the WebSocket (WS) server. Other services usually push messages to the WS server without needing to handle events.
Proposal:
Add the ability to skip the proxy_address configuration. If it is not set, the plugin should not create a worker pool for handling events. Instead, it should only allow sending push events through the grpc_api_address using the existing RPC interface.
This change will improve flexibility, especially in microservice setups, where only one service needs to listen to events while others focus on pushing data.
Benefits:
- Simplifies configuration for microservice environments.
- Reduces unnecessary resource usage on services that don’t need to listen to events.
- Focuses each service on its specific role (e.g., event listening or pushing).
Example Configuration:
centrifuge:
# Centrifugo server proxy address
# Optional, only set if the service needs to listen for events
proxy_address: null # Skip this to disable event listening
# gRPC server API address
grpc_api_address: "tcp://127.0.0.1:30000"