聊聊云计算:为什么构建网站时常会用到负载均衡
2018-12-17 10:46:28来源:中国云计算网 阅读 ()
对于用户数较多、负载较大的网站,我们通常都会使用负载均衡(LB:Load Balance)来增加服务器的承载能力。负载均衡是云计算的一个基本服务组件,通常都会搭配云主机来构建云服务,比如阿里云的SLB(Server Load Balancer)、腾讯云的CLB(Cloud Load Balancer)。
负载均衡可以将客户端请求分摊到多个操作单元上进行处理
硬件负载均衡
负载均衡有很多种不同的实现方式,总的来说,可以分为硬件负载均衡与软件负载均衡两大类。
硬件负载均衡有很多设备商可以提供解决方案,比如NetScaler、F5、Array Networks等。硬件负载均衡的优势比较明显:有专业团队进行维护、性能好、且稳定可靠。
F5负载均衡器
但硬件负载均衡解决方案也有缺点,比如设备和服务费用昂贵,灵活性差,功能和容量都难以扩展。软件负载均衡相对来说,灵活性强,扩展起来更容易,所以软件负载均衡解决方案越来越受到青睐。
DNS负载均衡
软件负载均衡最早通过DNS来实现,即一个域名对应多个IP地址。在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。
DNS负载均衡的解决方案原理比较简单,不过缺点也比较明显:
第一,不能够按照Web服务器的处理能力分配负载;
第二,DNS负载均衡技术没有考虑容错,即使某个服务器不可用,DNS仍然会把请求转发过去;
第三,一旦发现某个服务器出现故障,即使及时修改了DNS设置,但还是要等DNS刷新时间到了才能生效。
开源软件解决方案
后来出现了开源软件负载均衡的解决方案,最主流的就是LVS和Nginx。基于开源软件的负载均衡打破了硬件LB的垄断,降低了负载均衡的实施成本。
(1)LVS = Linux Virtual Server
LVS虚拟服务器,在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
LVS是把负载均衡的功能做到了Linux内核里面。LVS集群采用IP负载均衡技术和基于内容请求分发技术,将一组服务器构成一个高性能的、高可用的虚拟服务器。
整个服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样,而且无需修改客户端和服务器端的程序。
(2)Nginx
Nginx是一个轻量级的Web服务器,同时也是一个反向代理服务器,可以利用其反向代理的功能做负载均衡。Nginx与LVS相比主要有以下几点不同:
与LVS在层四进行负载均衡不同,Nginx是在层7进行,可以针对Http应用进行分流;
转发策略也更灵活,比如可以针对域名或目录结构进行转发;
Nginx对网络的依赖比较小,理论上只要Ping得通,网页访问正常就能连通,而LVS比较依赖网络环境。
总的来说,Nginx的应用场合要更多一些,LVS则更适合节点比较多的大型系统。
基于云的负载均衡(Cloud Load Balance)
除了在云主机上自己利用LVS或Nginx搭建负载均衡服务器,阿里云、腾讯云等云计算服务商,均提供了专门的负载均衡服务,配置容易。这些服务商的负载均衡解决方案,往往是结合了层7与层4的综合负载均衡方案,而且还需要考虑VPC网络与物理网络的不同情况(关于VPC的概念,可以参考之前的文章,《聊聊云计算:VPC与VPN有什么关系》)。具体实现方案比较复杂,这里就不过多介绍了,反正会用就行。
基于负载均衡实现的典型的云服务架构
上图就是一个基于负载均衡的典型的云服务架构。在我们搭建互联网应用时,可能需要考虑服务器的承载能力,或者需要保障服务器可用性,避免出现单点故障,使用负载均衡就是一个基本操作,掌握了LB,我们的服务就更加稳定了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:云计算专业就业前景分析
下一篇:云计算九条定律
- 中国云计算市场保持高速增长 2021-04-23
- 云计算的总体拥有成本怎样算出来 2020-01-09
- 中国联通发力5G+云计算,发布沃云云计算战略 2019-12-23
- 滴滴携NVIDIA合作共推自动驾驶和云计算领域发展 2019-12-19
- 2020年预测:云计算将发生什么 2019-12-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash