负载均衡(算法)

原创 2016年05月30日 16:33:30

概念

    负载:后端系统的承受能力;均衡:保证后端请求的平衡。

    一种算法,在跨平台系统调用的时候,考虑到后端机器承载情况的前提下,保证请求分配的平衡和合理。

为什么需要(what?)

    1、负载——当请求量过大,超过后端机器的承受能力时,有可能会导致某台机器宕机,同时也可能会引起连锁反应,导致服务器瘫痪。

    2、均衡——合理利用资源,保证相应时间。

怎么做(how?)

1、负载算法

    手工配置:根据各个机器的承受能力,固定宽度。多用于中小型系统,因为性能配置和承受能力都比较清楚。

    动态调整:根据机器的运行状态和历史平均值进行对比,动态设定宽度。

2、均衡算法

A、随机算法

    选取后端服务器的时候,采取随机的一个方法。

优缺点:均衡(从概率上来说)性,无状态性。

案例:最常用的方法。

B、轮训算法

    预先设定一个数组,作为固定排序,按顺序选取后端服务器。

优缺点:均衡性,有状态性。

C、一致哈希算法

    规定数据的范围,从0~2的32次方,首尾相连形成一个圆圈,以这个圆圈作为选取后端服务器的标准。使用hash算法计算并得到相应服务器的值,并标记在圆圈的某些点(Node-A,Node-B),而每一次请求也同样以这个hash算法计算得到相应的值,并标记在圆圈上的某些点(request-1,request-2),然后通过顺时针方向找到第一个服务器。

优缺点:无状态性,散列不变性,异常情况后可分散性。

案例:多用于cash缓存,将资源固定存储到某台服务器上。

D、主备算法

    将请求尽量放到某台固定的服务器上,再提供一些服务器做为备份,如果存在问题,则切换到另外的某台服务器上。

案例:一些特殊的情况下,为了保证数据的时序性。——未搞懂,后续补充


IPVS基于应用层任意偏移字段HASH值的负载均衡算法

在比较早的那些年,我曾经写了一个负载均衡调度算法模块,是基于应用层协议包任意偏移量开始的一段固定长度的数据计算一个值,然后将这个值hash到不同的服务器。那时觉得没啥用,就没有再继续,直到前一段时间的...
  • dog250
  • dog250
  • 2015年02月08日 17:02
  • 1963

hbase负载均衡算法分析

  • 2013年12月02日 13:42
  • 221KB
  • 下载

(四)实际项目中负载均衡调度算法实际应用

部分内容参考网上,如有问题,请留言。 (一).HAProxy的算法有如下8种: 一、roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的; 二、static-rr,表示根据权重...

7. 常见的简单负载均衡算法以及Java实现

读完本文你将知道: 1. 什么是负载均衡? 2. 负载均衡的几种简单实现: (1) 轮询法(Round Robin) (2)随机法(Random) (3)源地址Hash法...

负载均衡算法综述

  • 2013年09月28日 13:42
  • 1.12MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:负载均衡(算法)
举报原因:
原因补充:

(最多只允许输入30个字)