The `AsyncFlow` simulation architecture is centered around the `SimulationRunner`, which orchestrates the entire simulation process. The `SimulationRunner` is responsible for the initial setup, configuration, and ongoing management of all simulated components, including the `LoadBalancer`. The `LoadBalancer` plays a crucial role in distributing simulated requests, acting as a traffic controller to ensure realistic flow within the simulated environment. This clear separation of concerns allows for robust simulation management and accurate representation of traffic distribution in a distributed system.
Components
LoadBalancer
Distributes incoming simulated requests from upstream components to a pool of available Backend Services or other Actors based on a defined load balancing strategy. It manages the flow of requests within the simulated environment, acting as a traffic controller. This component is fundamental for simulating traffic distribution in a distributed system.
Referenced Source Code
SimulationRunner
Orchestrates the overall simulation lifecycle, including the setup, initialization, and execution of simulated components. It is responsible for building and configuring various actors, including the LoadBalancer, ensuring the simulation environment is correctly prepared and executed. This component is crucial for the overall control and execution of the simulation.