开发者学堂课程【Clouder认证课程 - 超大流量网站的负载均衡:负载均衡的介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/508/detail/6802
负载均衡的介绍
内容介绍:
一、传统业务面临的挑战
二、服务器的向上扩展和向外扩展
三、负载均衡的概念
一、传统业务面临的挑战
1. Internet 的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长(随着互联网的发展,用户通过网络访问前端网站的流量增加造成很大前端压力)
2. 大部分网站(尤其电子商务等网站)都需要提供不间断24小时服务(对网站搭建要求更高)
3. 相对于网络技术的发展,服务器处理速度和内存访问速度的增长却远远低于网络带宽和应用服务的增长(如果按照相同速度提升服务器不能满足前端网络增加的速度)
4. 传统的单机模式,也往往成为网络故障点
针对以上要求产生负载均衡服务,通过负载均衡服务来解决传统业务面临的挑战。此时就需要对服务器进行提升。
二、服务器的向上扩展和向外扩展
向上扩展(垂直扩展)︰向单一节点添加硬件设备或将其升级为一个大型节点。(例如原服务器为一盒一 g 的配置,如今通过硬件的升级提升为两盒 4g 进而提升服务能力。仍然是同一台物理设备,但是内部的配件进行了升级)
向外扩展(水平扩展)︰添加更多节点并将数据及工作负载分布于这些节点当中。(原来一台服务器不能满足用户需求,如今创建出多台服务器)
两种方式的区别:向上扩展受限于本身物理硬件设备,物理硬件设备不能无限制升级。向外扩展可以无限制升级服务能力,只要可以快速增加新的硬件设备到当前业务系统中,即可提升服务器能力。向外扩展需要对当前业务进行一些变动,而向上扩展业务不变动。
总结:在实现过程中,向外扩展实现更容易,但是存在瓶颈;向外扩展需要对业务进行一些改动,但没有升级的限制。
随着互联网的发展,越来越多的企业和用户都采用向外扩展的方式来快速对自身业务系统进行升级。
三、负载均衡的概念
负载均衡,英文名称为 Load Balance,其意思就是分摊到多个操作单元上进行执行,例如 Web 服务器、FTP 服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。(通过水平扩展的方式来提升当前业务系统服务能力。前端用户请求发送过来后,中间会有负载均衡服务来接受用户请求,再将请求转发到后端不同的服务器上进行处理。减少系统的压力)
负载均衡的优势:低成本(使用低成本实现降低前端负载压力效果)、可扩展性(负载均衡服务后端服务器可以无限增加,所以扩容能力无上限)、高可靠性(同时业界存在一种成熟的技术来保障负载均衡服务本身服务可靠性,避免因为负载均衡本身问题而造成业务系统中止情况)
负载均衡的概念示意:
拨打人工客服电话时经常会面对人工坐席忙,拨打过去长时间不能接通。因为拨打电话的人多而接电话的人少,人工客服不足够就会面临该问题。为了解决该问题,可以通过雇佣更多客服接电话。将一个客服增加为 10 个客服,提升服务能力的 10倍,这样用户打进电话时就可以很快获取到人工客服的服务,从而很好的提升用户体验度。负载均衡类似工作原理。
负载均衡的工作原理:
传统时网站部署到一台物理服务器上,用户通过不同的终端、不同的 web 服务来访问需求,随着移动互联网的发展,用户可以通过各种各样的方式来访问网站,此时压力就超出一台服务器可以处理的上限,从而造成服务器垮掉,最终导致整个服务终止,所有用户都不能获取服务。
企业的利润会降低,用户体验度差会造成大多用户流失。为了避免该情况出现,类似上述工作原理,一台服务器不能满足客户需求时多增加服务器来满足。
但是用户在发送请求时是发送给 web 服务器1还是服务器2,对于用户来讲,希望看到统一的访问入口。类似打人工客服电话,只需要拨打电话后端就会有不同客服来响应请求。
所以前端需要负载均衡服务,接收用户的前端请求再转发给后端不同的 web 服务器上,从而实现负载较高的服务可以正常提供服务需求。可以将中间的负载均衡服务理解为网站服务代理人,作为代理人交互前端请求,收集前端请求后按照一定规则分发给后端不同的 web 服务器来进行处理。