负载均衡?
其实简单来说就是任务分配,将任务分配到你预想要分配的各个计算单元上去,可以提高服务效率,防止单场景失效的情况发生
负载均衡有哪几种?
软件负载均衡
硬件负载均衡
DNS负载均衡
分别讲讲这几种负载均衡
软件负载均衡
其实软件负载均衡是属于最常见的,因为便宜又容易操作,只需要下好软件配置好文件即可,而且在高峰是容易扩容
软件负载均衡顾名思义就是通过具有负载均衡功能的软件来实现负载均衡,可以用来实现负载均衡的软件分为-LVS,Ngins,HAProxy
软件负载均衡分为四层和七层,四层就是在网络层通过IP地址的请求进行转发,其实就是一个信息转发分配的作用;七层则可以根据HTTP请求和URL地址将消息转发给特定的主机,LVS是属于四层,Ngins,HAProxy是属于可四可七;
Ngins是万级,LVS是十万级,通常用Ngins做七层,LVS做四层,大部分小公司都是这样做配合的,但是仅限于并发量不高的情况,一旦并发量很大的话,软件负载均衡是撑不住的,这也是主要的缺点,而且没有防火墙,无法抵住DOS攻击
硬件负载均衡
也就是用硬件来实现负载均衡 常见的有A5,F10
优点;
1、功能强大,支持全面负载均衡功能和复杂的负载均衡算法
2、性能强悍,支持百万级数据
3、自身具有安全功能,有防火墙,防止Dos攻击
随之而来就是缺点了 那肯定就是贵啊,所有完美的事物都是有无价的,这个虽然有价,但也是不便宜,还有就是假设遇到高峰期是不容易扩容的
DNS负载均衡
DNS负载均衡是地理级别的,也就是通过DNS解析一个域名可以返回不同的ip地址,DNS解析以后可以返回离客户端最近的主机
例如假设河南人访问百度,那么就会返回离他最近的那个主机
优点:距离近,响应时间段,不会等待太多时间,提高访问效率
简单,自己不会花太多功夫在这上面,大多都是DNS完成
缺点:不会识别不同服务器的差异,不能反应服务器的状态
DNS有缓存,而且时间相当长,所以假设自己最近的服务器坏掉了,或者在维修,DNS还是会根据原来的把地址发送信息
扩展能力差,控制权在运营商手里,不在自己手里