第一层:DNS负载均衡(同一个域名绑定多个ip实现运营商级的基础轮询负载均衡/地理位置负载均衡/运营商负载均衡)
后续可以考虑运营商级负载均衡(同一个运营商的请求转发到同一个运营商/运营商线路主备)
走DNS级的负载均衡是最基础的一层负载均衡,缺点在于dns的解析不够智能,无法根据负载自动转发,也无法在某个服务器的ip不可达后自动转发到其他的ip,此时可通过对域名的监控来进一步优化,通过域名监控(域名服务商提供)的不同切换规则来实现智能解析(某些服务商可能提供了智能DNS功能,需根据不同的产品进行考虑)。
某些服务商提供了宕机回调来实现个性化宕机切换
常见的切换规则有(规则来自腾讯云域名自带的D监控):
- 不对该域名记录做任何修改(不切换)
- 停止解析该域名记录(智能暂停)
- 切换到您设置的备用IP(自定义切换)
- 切换到其它可用IP(智能切换, 可能会出现跨运营商切换,谨慎选择)
宕机切换介绍:目前D监控只对在DNSPod解析的域名提供监控。当监控节点探测到用户添加监控的某域名指向的IP或CNAME无法正常访问时,D监控将依据用户设置的切换规则来修改相关的域名记录,以避免用户访问到宕机的服务器。
名词解释:
a. 暂停:停止解析当前宕机的域名记录,用户将不会访问到该记录指向的IP。
b. 切换:修改当前宕机的域名记录的记录值,用户将访问到修改后的新IP。
c. 可用记录:该域名记录的记录值(IP或CNAME)可以正常访问。
- 不切换
不对宕机的域名记录进行任何操作。 - 智能暂停
a. 如果非默认线路宕机,则暂停该记录的解析;
b. 如果默认线路宕机,且默认线路还存在其他可用记录,则暂停该记录的解析;
c. 如果默认线路宕机,且默认线路无其他可用记录,则把该宕机IP随机切换为其他可用线路IP;
d. 如果默认线路宕机,且所有线路记录均不可用,则无操作;
可能会出现类似情况,电信线路设置了2个IP,一个IP宕机后,电信的所有用户都访问另一个IP,该服务器负载会翻倍。
- 自定义切换
用户可以对一条域名记录设置一个或多个备用IP,当宕机时,则切换到可用的备用IP。 - 智能切换(请谨慎启用)
a. 如果默认线路宕机,则随机切换到非默认线路的可用IP;
b. 如果非默认线路宕机,则优先切换到默认线路的可用IP;
c. 如果非默认线路宕机,但默认线路无可用记录,则切换到其他可用线路记录;
d. 如果所有线路记录均不可用,则无操作。
如果以上规则不能满足您的需求,则您可以使用宕机URL回调功能和官方API自行实现。
第二层采用告诉的lvs+keepalive实现高可用
第三层走nginx实现位于第七层的解析
第四次走微服务网关