1.7 KiB
1.7 KiB
Traffic Manager with Load Balancer Adapters
Module
ReleaseOrchestrator
Status
IMPLEMENTED
Description
Traffic management abstraction with adapters for Nginx Plus, HAProxy, Traefik, and AWS ALB, enabling weighted traffic splitting for canary and blue-green deployments.
Implementation Details
- Modules:
src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.ProgressiveDelivery/,src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/ - Key Classes:
TrafficManager(src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.ProgressiveDelivery/TrafficManager.cs) - high-level traffic management with weighted splitting for canary and blue-greenTrafficRouterRegistry(src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/TrafficRouterRegistry.cs) - registry of traffic router implementations (adapters)InMemoryTrafficRouter(src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/InMemoryTrafficRouter.cs) - in-memory traffic router for testing and development
- Interfaces:
ITrafficManager,ITrafficRouter - Source: SPRINT_20260117_035
E2E Test Plan
- Register a traffic router adapter with
TrafficRouterRegistryand verify it is available - Set weighted traffic split (e.g., 90/10) via
TrafficManagerand verify the split is applied - Verify canary traffic progression: increase weight incrementally and confirm routing changes
- Verify blue-green switch: flip traffic 100% to the new version and confirm full cutover
- Verify
InMemoryTrafficRoutercorrectly tracks routing state for testing