大型网站高并发解决方案LVS(一)

LVS:
负载均衡-集群:
HA,LB,HPC

HA: high Availability 高可用集群 (增加服务可用性) 高可用集群是以提升服务的始终在线能力为着眼点,不会因为宕机而导致服务不可用
衡量可用性:在线时间/(在线时间+故障处理时间)
99% 一年有三天不在线
99.9% 一年有0.3天不在线
99.99% 一年有0.03天不在线
99.999% 一年有0.003天不在线

HA模型

LB: load Balancing 负载均衡(增加处理能力),有高可用能力,但不是高可用集群,负载均衡集群是以提高服务的并发处理能力为根本着力点

LB模型

负载均衡集群可以分为 硬件负载均衡设备 和 软件负载均衡设备

硬件负载均衡设备:
F5:BIGIP
Citrix ,Netscaler
A10
深信服

软件负载均衡设备:
LVS(四层路由设备): 是由阿里巴巴副总裁 张国松研发的, 根据用户请求的IP和端口号,实现用户的请求分发至一个客户端不同的主机
Nginx : 由俄罗斯人开发的,主要针对HTTP,SMTP,POP3,IMAP等协议实现负载均衡,只负责解析有限的七层协议
haproxy:主要功能是针对HTTP协议实现负载均衡,也可以实现 TCP(MYSQL,SMTP) 等协议的负载均衡

HPC : high performance 高性能计算集群,计算海量数据,解决复杂问题

平时说的超级计算机就是高性能计算集群,查看每秒钟浮点运算的能力运用到的名词:
向量机: 尽可能向上进行扩展,如果CPU过多,在架构上纵然会有问题的并行处理集群包括两部分:
1 分布式文件系统
2 将大任务切割为小任务,分别进行处理的机制,比如hadoop 就是并行处理集群

负载均衡(Load Balance)

如果我有20机器,都提供web服务,那么我如何均衡利用这20台机器呢,让这20台机器保证高性能,高可用,高并发,就是负载均衡要考虑和做的事情

负载均衡一般可以使用是顺序(轮询),比重(权重),流量,服务等类别进行分配,负载均衡的部署方式也分为路由和服务直接返回的模式

负载均衡的主要方式:
Http 重定向
原理:根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新访问。
优点: 简单
缺点: 浏览器要零次请求服务器才能完成一次访问,性能较差
http重定向服务器自身的处理能力可能成为瓶颈
使用http302响应重定向,有可能使搜索引擎判断为SEO作弊,减低搜索排名

DNS 负载均衡
DNS负载提供域名解析到IP解析的过程,我们实例查看百度的域名解析其实是一对多的,这时候DNS服务器也就充当了负载均衡,很多域名运营商提供的智能dns以及多线解析都是利用了DNS负载均衡技术,开源的BIND就可提供电信联通多线解析等强大的技术。
原理: 在DNS服务器上配置多个域名对应IP的记录,比如一个域名www.baidu.com 对应一组web服务器IP地址,域名解析时经过DNS服务器的算法,将一个域名请求分配到合适的真实服务器上
优点: 将负载均衡工作交给了DNS,省却了网站管理维护负载均衡服务器的麻烦,同时许多DNS还支持基于地理位置的域名解析,将域名解析成距离用户地理位置最近的一个服务器地址,加快访问速度,改善性能 (类似于CDN)
缺点 : 目前DNS 解析是多级解析,每一级的DNS都可能缓存记录A,当某一个台服务器下线后,该服务器对应的DNS记录A可能仍然存在,导致分配到该服务器的用户访问失败。
DNS负载均衡控制权在域名服务商手中,网站可能无法做出过多的改善和管理。
不能够按服务器的处理能力来分配负载,DNS负载均衡采用的是简单的轮询算法,不能区分服务器之间的差异,不能反映服务器当前运行的状态,所以它的负载均衡效果并不是很好。
可能会造成额外的网络问题,为了使本DNS服务器和其他DNS 服务器及时交互,保证DNS数据及时更新,使地址能随机分配,一般都要将DNS的刷新时间设置的比较小,但太小又会使DNS流量增大造成额外的网络问题

反向代理负载均衡:NGINX
原理: 反向代理处于web服务器这边,反向代理服务器提供负载均衡的功能,同时管理一组web服务器,它根据负载均衡算法来将请求的浏览器访问转发到不同的web服务器处理,处理结果经过反向服务器返回给浏览器
优点:部署简单,处于http协议层面
缺点:使用了反向代理服务器后,web地址不能直接暴露在外,因此web服务器不需要使用外部ip地址,而反向代理服务作为沟通桥梁就需要配置双网卡,外部内部两套IP地址

IP负载均衡
LVS-NAT
原理:在网络层通过修改目标地址进行负载均衡
用户访问请求到达负载均衡服务器,负载均衡服务器在操作系统内核进程获取网络数据包,根据算法得到一台真实服务器地址,然后将用户请求的目标地址修改成该真实服务器地址,数据处理完后返回给负载均衡服务器,负载均衡服务器收到响应后将自身的地址修改成原用户访问地址后再将数据返回回去,类似于反向服务器负载均衡
优点: 在响应请求时速度较反向服务器负载均衡要快
缺点: 负载均衡服务器称为集群的性能瓶颈,当请求数据较大(大型视屏或文件)时,速度较慢

NAT地址转换模式

数据链路层负载均衡
LVS-DR 直连
原理: 在数据链路层修改MAC地址进行负载均衡,负载均衡服务器的IP和它所管理的web服务器的虚拟IP一致,负载均衡数据分发过程中不修改访问地址的IP地址,而是修改MAC 地址,通过这两点达到不修改数据包的原地址和目标地址就可以进行正常的访问
优点: 不需要负载均衡服务器进行IP地址的转换,数据响应时不需要经过负载均衡服务器
缺点: 负载均衡服务器的网卡带宽要求较高

F5硬件负载均衡
工作原理:
1,F5 BIG-IP 提供12种灵活的算法将所有的流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器
2,健康性检查。 F5 BIG-IP 可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP 后面的某一台服务器发生服务停止,宕机等故障,F5会检查出来并将该服务器标识为宕机, 从而不降用户的请求传送到该台发生故障的服务器上,这样,只要其他的服务器正常, 用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP 就会自动查证应用保证对客户的请求作出正确响应并恢复向该服务器传送。
3, F5 BIG-IP 具有动态Session 的会话保持功能,在网站中使用F5将用户IP与Session通过F5进行的绑定,使其Session保持一致。
4, F5 BIG-IP 的iRules 功能可以做HTTP内容过滤,根据不同的域名,URL,将访问的请求传送到不同的服务器。
优点:性能非常好
缺点: 成本太高,配置冗余

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据