public PingUtil(ILoadBalancerContext loadBalancerContext, ILog logger) { ParameterChecker.NotNull(loadBalancerContext, "loadBalancerContext"); ParameterChecker.NotNull(logger, "logger"); _loadBalancerContext = loadBalancerContext; _logger = logger; }
public DefaultServerSourceFilter(ILoadBalancerContext loadBalancerContext) { _loadBalancerContext = loadBalancerContext; _statusMetricManager = loadBalancerContext.StatusMetricManager; _serverCountMetrics = new ConcurrentDictionary <string, IStatusMetric <double> >(); _availableServerCountMetrics = new ConcurrentDictionary <string, IStatusMetric <double> >(); }
public DefaultLoadBalancerRuleFactoryManager(ILoadBalancerContext loadBalancerContext) { _loadBalancerContext = loadBalancerContext; _loadBalanceRuleFactoryMap = new ConcurrentDictionary <string, Func <ILoadBalancerRule> >(); _loadBalanceRuleFactoryMap[RoundRobinRuleName] = () => new RoundRobinRule(); _loadBalanceRuleFactoryMap[WeightedRoundRobinRuleName] = () => new WeightedRoundRobinRule(); _ruleId = WeightedRoundRobinRuleName; _ruleFactory = _loadBalanceRuleFactoryMap[WeightedRoundRobinRuleName]; _loadBalancerRules = new ConcurrentDictionary <string, ILoadBalancerRule>(); InitializeRuleProperty(); }
public DefaultServerSourceManager(ILoadBalancerContext loadBalancerContext) { _loadBalancerContext = loadBalancerContext; _serializer = new DataContractJsonSerializer(typeof(List <LoadBalancerRoute>)); string prefix = _loadBalancerContext.LoadBalancerKey; _dataFolder = _loadBalancerContext.ConfigurationManager.GetProperty(prefix + "." + ConfigurationKeys.DataFolder); string globalPrefix = _loadBalancerContext.ManagerId; _globalDataFolder = _loadBalancerContext.ConfigurationManager.GetProperty(globalPrefix + "." + ConfigurationKeys.DataFolder); }
public ServerStats(ILoadBalancerContext loadBalancerContext) { _loadBalancerContext = loadBalancerContext; string prefix = loadBalancerContext.LoadBalancerKey; _counterBufferConfigProperty = loadBalancerContext.ConfigurationManager.GetProperty(prefix + "." + ConfigurationKeys.CounterBuffer, null, ConfigParser, ConfigCorrector); string globalPrefix = loadBalancerContext.ManagerId; _globalCounterBufferConfigProperty = loadBalancerContext.ConfigurationManager.GetProperty(globalPrefix + "." + ConfigurationKeys.CounterBuffer, DefaultConfig, ConfigParser, ConfigCorrector); _counterBufferConfigProperty.OnChange += OnChange; _globalCounterBufferConfigProperty.OnChange += OnChange; Reset(); }
public DefaultServerSourceMonitor(ILoadBalancerContext loadBalancerContext) { _loadBalancerContext = loadBalancerContext; _pingUtil = new PingUtil(_loadBalancerContext, _logger); var configurationManager = _loadBalancerContext.ConfigurationManager; string prefix = _loadBalancerContext.LoadBalancerKey; CheckIntervalInMillisecondProperty = configurationManager.GetProperty <int?>(prefix + "." + ConfigurationKeys.CheckInterval); FailureThresholdPercentageProperty = configurationManager.GetProperty <int?>(prefix + "." + ConfigurationKeys.FailureThresholdPercentage); string globalPrefix = _loadBalancerContext.ManagerId; GlobalCheckIntervalInMillisecondProperty = configurationManager.GetProperty <int?>(globalPrefix + "." + ConfigurationKeys.CheckInterval, DefaultCheckInterval); GlobalFailureThresholdPercentageProperty = configurationManager.GetProperty <int?>(globalPrefix + "." + ConfigurationKeys.FailureThresholdPercentage, DefaultFailureThresholdPercent); _checkHealthLatencyMetrics = new ConcurrentDictionary <string, IAuditMetric>(); _checkHealthEventMetrics = new ConcurrentDictionary <string, IEventMetric>(); }
public RandomRule(ILoadBalancerContext lbContext) : base(lbContext) { random = new Random(); }
public static string GetDistributionMetricName(this ILoadBalancerContext loadBalancerContext, string metricSuffix) { return(string.Format("{0}.{1}.distribution", loadBalancerContext.ManagerId, metricSuffix)); }
public static string GetMetricId(this ILoadBalancerContext loadBalancerContext, string metricSuffix) { return(string.Format("{0}.{1}", loadBalancerContext.LoadBalancerKey, metricSuffix)); }
public AbstractRule(ILoadBalancerContext lbContext) { loadBalancerContext = lbContext; }
public WeightedRoundRobinRule(ILoadBalancerContext lbContext) : base(lbContext) { current = 0; }
public AbstractWeightedRule(ILoadBalancerContext lbContext) : base(lbContext) { session = new Session(10); servers = loadBalancerContext.Servers; loadBalancerContext.OnServerListUpdated += ServerListChangedEventHandler; }
public RoundRobbinRule(ILoadBalancerContext lbContext) : base(lbContext) { current = -1; }
public DefaultLoadBalancerRequestContext(Server server, ILoadBalancerContext loadBalancerContext) { this.Server = server; this.LoadBalancerContext = loadBalancerContext; this.ServerStats = loadBalancerContext.GetServerStats(server); }
public DefaultLoadBalancer(ILoadBalancerContext loadBalancerContext) { LoadBalancerContext = loadBalancerContext; loadBalancerRules = new ConcurrentDictionary <string, ILoadBalancerRule>(); }