我试图为负载均衡算法编写测试,其工作原理如下:
当节点发生故障时,算法会根据所有其他可用节点的负载计算阈值。
然后,它根据端点ID的哈希值分配端点,并将其转换为0到1之间的数字,该数字与先前计算的阈值匹配,以选择分配的节点。
这应该导致端点根据其负载的比例分布在所有可用节点上。
问题是,这个模型是概率性的。
分配给每个节点的端点数取决于端点的特定ID,这使得我的结果在不同端点ID集之间不一致。实际上,在运行算法之前,我甚至无法确定实际结果。结果将针对不同的端点ID集以及散列函数的任何更改进行更改
首先我想到输入是随机的并测试预期结果是否在某个范围内,但是如果输入集恰好具有不按我预期分发的ID,那么总是有机会遇到故障
那我该如何测试这样的算法?