首页 > 编程语言 >负载均衡算法、类型

负载均衡算法、类型

时间:2023-03-19 09:12:21浏览次数:45  
标签:负载 轮询 连接数 算法 均衡 服务器 客户端

1.轮询法

将请求按照顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载

2.随机法

通过系统的随机算法,根据后端服务器的列表大小值来选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,其实际效果越来越接近平均分配调用量到后台的每一台服务器,也就是轮询的结果

3.源地址哈希法

源地址哈西德思想是根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客户端要访问的服务器的序号。采用源地址哈希法进行负载均衡,同一个IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。

4.加权轮询法

不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。给配置高,负载低的机器配置更高的权重,让其处理更多的请求;而配置低,负载高的机器,给其分配比较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配给后端

5.加权随机法

与加权轮询法一样,加权随机发也根据后端机器的配置,系统的负载分配不同的权重。不同的是,它是感召权重随机请求后端服务器,而非顺序

 

6.最小连接数法

最小连接数算法灵活只能,由于后端服务器的配置不尽相同,对于请求的处理有快有慢,它是根据后端服务器当前的连接情况,动态地选取其中当前积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用率,将负责合理地分流到每一台服务器。

 

类型:

DNS方式实现负载均衡

硬件负载均衡:F5和A10

软件负载均衡:

Nginx、HAproxy、LVs 其中的区别:

  • Nginx:七层负载均衡;支持HTTP、E-mail协议,同时也支持4层负载均衡;
  • HAproxy:支持七层规则的,性能也很不错。OpenStack默认使用的负载均衡软件就是HAproxy
  • LVs:运行在内核态,性能上软件负载均衡中最高的,严格来说工作在第三层,所以更通用一些,适用各种应用服务。

 

标签:负载,轮询,连接数,算法,均衡,服务器,客户端
From: https://www.cnblogs.com/2324hh/p/17232448.html

相关文章

  • 负载均衡算法、类型
    1.轮询法将请求按照顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载2.随机法通过系统的随机算法,根据后端服务......
  • 算法学习笔记(19): 树上启发式合并(DSU on tree)
    树上启发式合并DSUontree,我也不知道DSU是啥意思这是一种看似特别玄学的优化可以把树上部分问题由\(O(n^2)\)优化到\(O(n\logn)\)。例如CodeForces600E。又......
  • 系统负载介绍
    负载负载就是cpu在一段时间内正在处理以及等待cpu处理的进程数之和的统计信息,也就是cpu使用队列的长度统计信息,这个数字越小越好(如果超过CPU核心*0.7就是不正常)负载分为两大......
  • 基于Astar算法的栅格地图最优路径搜索matlab仿真,可以修改任意数量栅格
    1.算法描述       Astar算法是一种图形搜索算法,常用于寻路。它是个以广度优先搜索为基础,集Dijkstra算法与最佳优先(bestfit)算法特点于一身的一种算法。它通过......
  • 光场原理及一些算法代码实现
    2023.3.18好久没有写过博客了,感觉自己比以前更菜了\(//∇//)\好不容易的更新,是为了把最近看的几篇光场论文写个自己的整理和理解,后面可能会写一些用C++实现的光场处理算......
  • 分治算法总结(未完结)
    分治思想:将一个问题分解成若干个结构与原问题相同的子问题。(划分子问题+后处理)一、经典问题1.最大子段和思路:计算左边的最大子段和、右边的最大子段和以及跨越......
  • RHEL 7配置HAProxy实现Web负载均衡
    本文将简单介绍使用HAProxy实现web负载均衡,主要内容包括基于权重的轮询、为HAProxy配置https、配置http重定向为https、配置HAProxy使用独立日志。一、测试环境HAProxy:......
  • 算法刷题记录
    http://acm.hdu.edu.cn/showproblem.php?pid=1094#include<iostream>#include<vector>intmain(){usingnamespacestd;vector<int>vecrow;......
  • 代码随想录算法训练营Day46 动态规划
    代码随想录算法训练营代码随想录算法训练营Day46动态规划|● 139.单词拆分关于多重背包,你该了解这些!背包问题总结篇!139.单词拆分题目链接:139.单词拆分给定一......
  • 算法 -- 分割两个字符串得到回文串
    分割两个字符串得到回文串提示中等114相关企业给你两个字符串a和b,它们长度相同。请你选择一个下标,将两个字符串都在相同的下标分割开。由a可以得到两个字符......