在一个购物APP中,有一个核心购物系统,它的接口被 N 个客户端调用。这些客户端负责处理来自不同渠道的交易请求,并将这些请求发送给核心购物系统。每个客户端有不同的调用量 R=[R1,R2,...,RN],表示在一定时间内,这个客户端向核心购物系统发送的交易请求的数量。核心购物系统必须能够及时响应所有的请求,以确保交易顺利进行。
然而,最近核心购物系统出现了集群故障,导致交易请求的处理速度变慢。为了避免系统崩溃,必须临时降级并限制调用量。具体而言,核心购物系统能接受的最大调用量为 cnt,如果客户端发送的请求总量超过 cnt,则必须限制一些系统的请求数量,以确保核心购物系统不会超负荷工作。
现在需要一个降级规则,来限制客户端的请求数量。规则如下:
在一个购物APP中,有一个核心购物系统,该系统的接口被多个客户端调用。每个客户端有不同的请求数量,系统能接受的最大调用量是一个给定的值。要求设定一个阈值 value,如果某个客户端的请求量超过该阈值,则将其请求数量限制为这个阈值。我们的目标是求出最大的 value 值,确保所有客户端的请求总量不会超过核心购物系统的最大调用量。
要求在保证客户端请求的数量不会超过核心购物系统的最大调用量的情况下,使得阈值 value 尽可能大。一般该类问题可以尝试使用二分答案加验证答案正确性的方法尝试求解。
使用二分答案的方法,一般要考虑两个因素: