Principle:SeleniumHQ Selenium Grid Deployment Topology
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Distributed_Testing, Architecture, Selenium_Grid |
| Last Updated | 2026-02-11 00:00 GMT |
Overview
Architectural decision for how Selenium Grid components are deployed: all-in-one (Standalone), centralized (Hub-and-Node), or individually (Fully Distributed).
Description
Selenium Grid supports three deployment topologies that trade off simplicity against scalability:
- Standalone: All components (Router, Distributor, Session Map, Session Queue, Event Bus, Node) run in a single process. The Standalone class configures roles DISTRIBUTOR_ROLE, EVENT_BUS_ROLE, HTTPD_ROLE, NODE_ROLE, ROUTER_ROLE, and SESSION_QUEUE_ROLE within one JVM. Simplest to deploy, suitable for small-scale testing.
- Hub-and-Node: The Hub process runs Router, Distributor, Session Map, Session Queue, and Event Bus (roles DISTRIBUTOR_ROLE, EVENT_BUS_ROLE, HTTPD_ROLE, SESSION_QUEUE_ROLE, ROUTER_ROLE). Separate Node processes handle browser execution. Suitable for medium-scale distributed testing.
- Fully Distributed: Each component runs as a separate process, communicating via Event Bus. Maximum scalability and fault isolation.
Usage
Choose Standalone for local development and CI with few parallel sessions. Choose Hub-and-Node for team-level test infrastructure. Choose Fully Distributed for large-scale enterprise deployments requiring horizontal scaling and fault tolerance.
Theoretical Basis
# Topology Selection Decision Tree
IF single_machine AND sessions < 10:
-> Standalone
ELIF small_cluster AND sessions < 100:
-> Hub-and-Node
ELIF large_scale OR high_availability:
-> Fully Distributed (with Redis/external backing)
# Component Communication
Standalone: in-process method calls
Hub-and-Node: HTTP between Hub and Nodes
Fully Distributed: Event Bus (message queue) between all components
Related Pages
Implemented By
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment