每年进入3-4月所有的高等院校开始了一年一度的毕业生答辩准备阶段,现如今毕业论文或者毕业设计也更加的贴近了互联发展的趋势,很多学校开始做最热话题云计算openstack架构的实现以及云计算环境搭建,先不说这个毕业设计的切入点是否正确,就说选择该题目后你如何下手?下面给大家分享千锋讲师给学员准备的高并发大型互联网站架构设计第三部分。
2.1.2.2七层负载均衡Nginx
Nginx proxy 是一种7 层负载均衡技术。目前大部分企业都在使用的负载均衡软件,通常结合Keepalived使用,也是我们此次架构中所采用软件。具有以下特点:
1.配置简单灵活。
2.稳定性高,支持功能丰富。
3.分配策略丰富。
4.上传文件使用异步模式。
Nginx在配置文件中的upstream模块中写入真实的服务器地址,可以做动静分离,模块化等操作。
在其主配置文件的http中写入:
图25 upstream配置模块
采用了Nginx+Keepalived的部署方式来确保负载均衡集群的高可用。Keepalived采用VRRP协议实现集群高可用的,类似于Heartbeat,用来防止单点故障。Keepalived的工作原理:将多台提供相同服务的服务器看成一个组,组中有一个主多个从,通过设置其优先级来区分主从,优先级最高的为主服务器,主服务器上有一个对外提供服务的虚拟IP,主服务器会向从服务器发送组播包,如果从服务器在一段时间内收不到主服务器发来的包,就会认为主服务器宕掉了,从服务器会在其中根据优先级重新选取一个主。
2.2Web服务器
WEB服务器的主要功能是提供网上信息浏览服务[19]。人们可以通过web服务器来将自己的主页,自己的网站,自己的博客,公司的介绍,公司的宣传,广告等放在互联网上,这也是其商业价值的一种体现。现如今我们可以在互联网上看到很多盈利以及非盈利的网站、网页,如电子商城、微博、博客等。
Unix和Linux平台下的常用Web服务器有Apache、 Nginx、 Lighttpd、Tomcat、 IBM WebSphere等。其中目前应用最广泛的Web服务器是Apache,Windows平台下最常用的服务器则是微软公司的IIS(Internet Information Server)。
Apache是世界使用排名第一的Web服务器软件,虽说Nginx的使用量在逐年上升,但是目前市场占有率最高的依旧非它莫属。如图2-6所示:
Apache服务器具有以下特点:
1.开放源代码。
2.跨平台应用,可运行windoows和大多数linux系统。
3.运行非常稳定。
4.采用模块化设计。
5.支持perl,php,python和java等多种网页编辑语言。
6.有多种方式的HTTP认证。
7.配置过程简单。
8.具有相较好的安全性。
9.提供用户会话过程的跟踪。
图26 web服务器市场占有率
Apache的优点有:
1.rewrite比Nginx的rewrite强大
2.bug少
3.模块多
4.对动态页面的支持比nginx强大
5.超稳定