5
通过TTL加权轮循-可能吗?
我目前使用DNS轮询进行负载平衡,效果很好。记录看起来像这样(我的TTL为120秒) ;; ANSWER SECTION: orion.2x.to. 116 IN A 80.237.201.41 orion.2x.to. 116 IN A 87.230.54.12 orion.2x.to. 116 IN A 87.230.100.10 orion.2x.to. 116 IN A 87.230.51.65 我了解到并不是每个ISP /设备都以相同的方式对待这种响应。例如,某些DNS服务器随机旋转地址,或始终循环访问它们。有些只是传播第一个条目,而另一些则通过查看IP地址来确定哪个最好(在区域附近)。 但是,如果用户群足够大(分布在多个ISP等上),则可以很好地保持平衡。从最高负载到最低负载的服务器的差异几乎都不超过15%。 但是,现在我遇到的问题是,我正在向系统中引入更多服务器,而并非所有服务器都具有相同的容量。 我目前只有1 Gbps服务器,但我想同时使用100 Mbps和10 Gbps服务器。 因此,我想介绍一种权重为100的10 Gbps服务器,权重为10的1 Gbps服务器和权重为1的100 Mbps服务器。 之前,我曾两次添加服务器以向它们带来更多流量(效果很好,带宽几乎增加了一倍)。但是将10 Gbps服务器100次添加到DNS有点荒谬。 所以我考虑使用TTL。 如果我给服务器A提供240秒的TTL,给服务器B仅提供120秒(这大约是用于轮询的最小时间,因为如果指定了较低的TTL,则许多DNS服务器都设置为120(所以我已经听说过))。我认为这样的事情应该在理想的情况下发生: First 120 seconds 50% of requests get server A -> …