1.简介
将负载(工作任务、访问请求)进行平衡、分摊到多个操作单元(服务器、组件)上进行执行,是解决高性能、单点故障(高可用)、扩展性(水平伸缩)的解决方案。
2.原理
纵向与横向
纵向扩展:指从单机角度增加硬件处理能力,比如CPU处理能力、内存容量、磁盘等;
横向扩展:指增加机器来增加处理能力,比如一台机器不能满足,则增加两台或多台设备,共同承担压力;
横向扩展的方案就是典型的集群和负载均衡框架;
负载均衡设备
将用户的访问请求,根据负载均衡的相关算法,分发到集群中一台处理服务器。
集群
将同一应用部署到多台机器上,形成处理集群,接收负载均衡设备分发的请求进行处理,并返回响应数据。
3.分类
DNS负载均衡
最早的负载均衡技术,利用域名解析实现负载均衡,在DNS服务器中配置多个A记录,这些A记录的服务器构成集群;
作为第一级负载均衡
(个人理解:相当于请了别的公司的员工,用户有请求的时候,先通知到他们,再由他们那边去查一下我们这边登记在他们公司的处理人地址和电话,他们查的时候可以选择离用户最近的一个处理人来联系把请求交给他。这样的话其实我们公司只需要处理来的请求就行了,分发的动作他们公司就帮我们做好了,省事但是管理不到)
优点:将负载均衡的工作交给DNS服务器处理,省掉了负载均衡服务器维护的麻烦;可以提高性能 —— 支持基于地址的域名解析,解析成离用户最近的服务器地址,加快访问速度,改善性能。
缺点:可用性差 —— DNS解析是多级解析,新增/修改DNS后,解析时间较长;解析过程中,访问会失败;