/
aprogrammer
/
reverse-proxy-ms-yarp
Обзор
Документация
Войти
/
aprogrammer
/
reverse-proxy-ms-yarp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/ReverseProxy/LoadBalancing/RandomLoadBalancingPolicy.cs
32 строки
946 B
Kahbazi
File Scoped Namespaces (#1352)
12 ноя 2021, 21:53
Не верифицирован
12 ноя 2021, 21:53
44f13d9
Код
Авторство
О чём код?
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System.Collections.Generic; using Microsoft.AspNetCore.Http; using Yarp.ReverseProxy.Model; using Yarp.ReverseProxy.Utilities; namespace Yarp.ReverseProxy.LoadBalancing; internal sealed class RandomLoadBalancingPolicy : ILoadBalancingPolicy { private readonly IRandomFactory _randomFactory; public RandomLoadBalancingPolicy(IRandomFactory randomFactory) { _randomFactory = randomFactory; } public string Name => LoadBalancingPolicies.Random; public DestinationState? PickDestination(HttpContext context, ClusterState cluster, IReadOnlyList<DestinationState> availableDestinations) { if (availableDestinations.Count == 0) { return null; } var random = _randomFactory.CreateRandomInstance(); return availableDestinations[random.Next(availableDestinations.Count)]; } }