负载均衡之起始篇

负载平衡简介

  

或许有些读者仍然对负载平衡这个名词感到陌生,那么我们就花一小段篇幅来讲解一下到底什么是负载平衡。

  

在一个大型网站中,在线用户有时可能有几千个甚至上万个之多。如果一个用户的请求需要服务使用0.02秒来处理,那么该服务实例每秒钟将只能处理50个这样的请求,每分钟也只能处理3000个。

如果该服务是一个用户非常常用的功能,如浏览网站的产品列表,那么很显然单个服务实例已经无法支持该网站的运营。在这种情况下,我们就需要对该服务进行扩容。

  

扩容主要分为Scale Up(纵向)和Scale Out(横向)两种,分别对应着增强单个服务的服务能力以及增强服务数量。在某些情况下,Scale Up是一个较为简单的操作,例如为该服务所在的服务器添加更大的内存。

但是任意一个服务器所能提供的能力实际上都受到其自身物理硬件能力的限制,尤其是具有越高性能的服务器其单位服务能力的价格越为昂贵,因此我们就需要使用Scale Out方式将工作量分摊到多个服务器之中:

就如上图所显示的那样,当服务器的负载过多而来不及处理的时候,服务器就处于一种过载的状态。在该状态的服务常常会出现响应速度慢甚至无响应的情况。而在执行了Scale Out之后,我们将会使用多个服务器同时处理用户的请求。在该解决方案中,我们需要使用一台特定的设备将这些请求分发到各个服务器。该设备会根据其内部所包含的请求分发逻辑来决定如何对这些请求进行分发,以避免出现单个服务器过载的情况。这些用来对请求进行分发的设备实际上就是负载平衡服务器。

  

当然,我们不会等到服务器真正过载了才去解决这个问题。在服务的日常运维中,我们在服务器的平均负载和峰值负载达到某个特定阈值时就需要考虑是否需要为相应服务进行扩容。

  

一旦一个服务使用了负载平衡系统,那么它将在高可用性以及扩展性上得到极大的增强。这也是我们使用负载平衡解决方案的最重要原因。例如对于一个拥有三台服务器的负载平衡系统,如果其中一台发生了故障,那么负载平衡服务器可以通过向各个服务发送心跳等方式得知它们的异常,进而不再向这个发生了故障的服务器分发任务:

而如果当前负载平衡系统中所负担的服务容量已经超过了阈值,那么我们可以简单地通过在负载平衡系统中添加服务器来解决这个问题:

这样,每个服务器所需要处理的任务就相对减少了,从而减轻了单个服务器的负担。

时间: 2024-08-14 08:30:56

负载均衡之起始篇的相关文章

负载均衡----实现配置篇(Nginx)

首先我们来回顾下上篇的概念: 负载均衡 == 分身的能力. 既然要有分身的能力嘛,这好办,多弄几台服务器就搞定了.今天我们讲的实例嘛-..我们还是先看图比较好: 还是图比较清晰,以下我都用别名称呼: PA : 负载均衡服务器/WEB入口服务器/www.mydomain.com P1 : WEB服务器/分身1/192.168.2.3 P2 : WEB服务器/分身2/192.168.2.4 P3 : WEB服务器/分身3/192.168.2.5 PS:首先我们学这个的开始之前吧,不懂防火墙的童鞋们,

架构设计:负载均衡层设计方案之负载均衡技术总结篇

前言 1.概述 通过前面文章的介绍,并不能覆盖负载均衡层的所有技术,但是可以作为一个引子,告诉各位读者一个学习和使用负载均衡技术的思路.虽然后面我们将转向"业务层"和"业务通信"层的介绍,但是对负载均衡层的介绍也不会停止.在后续的时间我们将穿插进行负载均衡层的新文章的发布,包括Nginx技术的再介绍.HaProxy.LVS新的使用场景等等. 这篇文章我们对前面的知识点进行总结,并有意进行一些扩展,以便于各位读者找到新的学习思路. 2.负载均衡层的核心思想 2-1.一

LVS集群之十种调度算法及负载均衡(配置篇)

架构图: 1.安装keepalived keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,后来又加入了VRRP的功能,VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由出现的单点故障问题,它能够保证网络的不间断.稳定的运行.所以,keepalived一方面具有服务器健康检测功能,另一方面也具有HA cluster功能. [email protected]:~$ apt

局域网交换机实施冗余和负载均衡(初级篇)

在局域网中,我们为了保证网络的健壮性和稳定性,一般会在关键的部位实施冗余,最(便)常(宜)见(点)的,就是实施链路冗余或者设备冗余: 看起来是很爽了,实际上问题是大大的,比如图1,如果交换机A.B之间的4个端口都处于转发状态,而此时下联的任意某台PC发出一个广播包,会怎么样?很悲催!由于交换机两条线路形成了环路,并且交换机端口又不能隔离广播包,所有的端口都会无条件的转发这个广播包,从而造成广播风暴,最终会导致网络资源耗尽,交换机死机...(你也可能会被XX骂一顿) 为了解决交换网络实施冗余导致的

负载均衡之总结篇

须要考虑的问题 在提出详细的负载平衡解决方式之前,我们须要首先解说一下在设计负载平衡系统时我们所须要考虑的一些事情. 首先要说的就是要在负载平衡系统设计时留意它的高可用性及扩展性.在一開始的解说中.我们就已经提到过通过使用负载平衡.由众多server实例所组成的服务具有非常高的可用性及扩展性.当当中一个服务实例失效的时候,其他服务实例能够帮助它分担一部分工作. 而在总服务容量显得有些紧张的时候,我们能够向服务中加入新的服务实例以扩展服务的总容量. 可是因为全部的传输数据都须要经过负载平衡serv

LVS负载均衡技术精华篇

网络环境 LVS-VIP  192.168.1.200 LVS-MASTER-192.168.1.228 LVS-SLAVE-192.168.1.229 LVS-MASTER-192.168.1.228 wgethttp://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz wget http://www.keepalived.org/software/keepalived-1.2.23.tar.gz yum -

Keepalived+LVS+Nginx负载均衡之高可用

Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx负载均衡出现单机故障时,系统正常运行的需求.所以系统架构引入Keepalived组件,实现系统高可用. 一.Keepalived介绍 Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Serve

Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用

上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx负载均衡出现单机故障时,系统正常运行的需求.所以系统架构引入Keepalived组件,实现系统高可用. 一.Keepalived介绍 Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Server)使用,其功能类似于heartbeat,解决单机宕机的问

负载均衡----文件服务策略

客串:屌丝的坑人表单神器.数据库那点事儿 面向对象升华:面向对象的认识----新生的初识.面向对象的番外----思想的梦游篇(1).面向对象的认识---如何找出类 PHP项目 起点:手把手教你做关键词匹配项目(搜索引擎)---- 第一天  最新:手把手教你做关键词匹配项目(搜索引擎)---- 第二十一天 负载均衡----文件服务策略 同类文章:负载均衡----概念认识篇.负载均衡----实现配置篇(Nginx) 上回我提到的这么多服务器,他们共同需要的文件从哪里来?那么我们就需要文件服务器,文件