跨可变数量的服务器分割流量的算法

问题描述 投票:0回答:1

我有一个.NET核心服务AAA,它从另一个核心服务BBB中检索一些数据。 BBB有一个内存缓存(ConcurrentDictionary),并部署到10个盒子。要缓存的数据的总大小约为100GB。

AAA将有一个运行BBB的服务器列表,我正在考虑按照ServerId = DataItemId % 10的方式做一些事情,这样每个框都可以服务并缓存10%的总数据集。我无法想象的是当其中一个BBB盒关闭时(例如由于Windows Update)该怎么办。

是否有一些算法来分割流量,这将允许服务器向下和向上,但仍然将大多数请求重定向到具有相关数据兑现的服务器?

load-balancing elastic-load-balancer internal-load-balancer azure-load-balancer
1个回答
1
投票

Azure负载均衡器不与应用程序有效负载交互。它基于散列函数做出决策,散列函数包括TCP / UDP传输IP数据包的5元组。这里的基本和标准LB之间存在差异,标准LB使用改进的散列函数。对于请求的共享没有严格的保证,但随着时间推移到达的流量数量应相对均匀。运行状况探测可用于检测后端实例是健康还是生病。这可以控制新流是否到达后端实例。 https://aka.ms/lbprobes有详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.