负载均衡SLB
为了应对高并发,我们引入了负载均衡,就是将原本需要一台服务器处理的业务,分配给了多台服务器进行处理,而分配的规则就是SLB算法。
SLB(server load balance)是负载均衡的缩写。
负载均衡主要有三种算法:
①轮训法
通过将用户的请求轮流分配给配置好的服务器进行解析
②随机法
通过随机因子分配给不同的服务器,通过分散性,达到均衡
③最小连接法
通过选择最少连接的服务器进行分配,就是能者多劳
负载均衡主要有三种实现方法:
①dns轮训
通过dns解析到不同的ip来进行负载均衡
②反向代理
一般通过nginx进行代理解析,服务请求先到达nginx代理服务器,然后又nginx进行转发
③NAT(LVS)
该技术通过一个地址转换网关将每个外部连接均匀转换为不同的内部服务器地址,因此外部网络中的计算机就各自与自己转换得到的地址上的服务器进行通信,从而达到负载均衡的目的.
目前阿里云提供的SLB服务还是很方便使用的,只需要登录管理后台,然后选择开通SLB服务,然后添加配置对应的ECS服务器就可以使用了。
腾讯dns,阿里dns,百度dns有什么区别?哪个更好用?
好用不好用是相对来说,实际也不存在好用不好用,还是要根据每个人当地的网络情况来看。
节点分布
阿里DNS和百度DNS的节点都遍布全国各省份和地区,电信、联通、移动、教育网都有节点分布,具体分布可查阅官网。
功能
阿里DNS和百度DNS都提供了病毒、木马、诈骗网站过滤功能,百度 DNS 提供了一定级别的 QPS 防护能力和防护带宽,防火墙设备,全运营商高速接入,支持电信、联通、移动、教育网、SEO 等多条解析线路,支持泛解析,支持负载均衡,号称永久免费,没有套餐区分。
速度
腾讯 DNS:119.29.29.29、182.254.116.116
阿里 DNS:223.5.5.5、223.6.6.6
百度 DNS:180.76.76.76
测评下来,百度速度最快。
腾讯DNS在线路细分上做得较好,阿里DNS基于阿里云支持配套齐全,百度DNS可以与百度CDN加速。
可以自己ping一下节点ip,就知道哪个公共dns更快、更适合自己的网络环境了。
阿里云解析配置多 A 记录实现 DNS 均衡负载
A 记录(A record)又名主机记录是互联网上最常见的 DNS 资源记录,用于记录域名或子域名关联的主机地址,通常是 IPv4 地址。
任一域名允许关联多个 A 记录,而请求超过 1 个 A 记录的域名时,云解析 DNS 服务器将自动开启轮询调度。这是一种十分廉价且高效的均衡负载方式,配置方式也很简单。
首先,前往阿里云解析控制台,点击「添加记录」将弹出下面的配置界面。
主机记录 就是你要配置的域名,在 记录值 处填入 IP 地址,点击「确定」保存第一条 A 记录。我们再次点击「添加记录」,这次主机记录不变,在记录值处填入其它 IP 地址。
常言道光说不练假把式,我将手头的空闲域名 a.equesfile.cc 关联 5 个 A 记录,地址范围从 127.0.0.1 到 127.0.0.5 ,下面使用 nslookup 查询试试。
执行了两次查询命令,从上图可以看出两次响应结果确实是随机的。
DNS 均衡负载虽说简单高效,缺点也不少。
第一点、通常无法动态调整主机地址权重(阿里云解析倒是支持权重设置),如果多台主机性能差异较大,则不能很好地均衡负载。
第二点、DNS 服务器通常会缓存查询响应,以便更迅速地向用户提供查询服务,这种设计导致某台主机宕机情况下,即便第一时间修改 A 记录也无济于事。
由于 DNS 均衡负载无法满足高可用性要求,通常被用于第一层简单均衡,第二层采用高可用均衡负载服务如 HAProxy 或者 Nginx.