集群负载均衡算法原理

最近打算往互联网方向发展,研究了下集群的负载均衡。其实早就应该去了解学习了。如有理解不到位的地方,还望各大神指出。

负载均衡算法是集群在调度时,选择具体调度和分发方式的逻辑。

目前流行和常用的算法有:轮询算法,Hash算法,Session,最小连接数,最大空闲等。

1、轮询算法:

实现方式:把每一次的用户请求,按顺序循环分配给集群内部的一台服务器。优点是算法简洁,无状态。

2、权重轮询算法

由于服务器的处理能力不同,可以再给服务器加权。也就是权重轮询算法。

3、Hash算法

一般就是将请求中的某项数据做hash运算,然后根据集群的服务器总数n取模,根据取模后的值分配服务器。

一般可以根据请求时间,请求来源的ip等来做散列运算。

java中哈希值的算法:

String s = "hello";
int hash = s.hashCode();

4、一致性Hash算法

http://blog.csdn.net/cywosp/article/details/23397179/

5、Session算法

此算法是解决WEB集群会话问题最简单的方式。

与轮询算法类似,当用户发起请求时检查,若该请求的SessionID是首次发起的请求,则根据SessionID使用轮询算法选择服务器,当再次发起同一sessionID的请求时,直接转发给之前选择的服务器。使得服务器的缓存得到更好的利用。

6、最少连接数请求,最大空闲请求

如ftp,云服务等,若使用前面的几种算法,可能会由于客户端的连接时间不同,导致部分服务器连接数过多,压力过大。

最小连接数算法,根据服务器当前的连接情况,把请求转发给当前连接数少的服务器。

最大空闲请求,也是类似。可以根据服务器性能的不同做加权。



时间: 2024-07-30 20:30:18

集群负载均衡算法原理的相关文章

Nginx+tomcat配置集群负载均衡

转自:http://blog.csdn.net/bruce_6/article/details/38228299 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了.摘一段百度百科上的描述: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回

Apache+Tomcat +mod_proxy集群负载均衡及session

  序言: 在玩Apache+Tomcat +mod_jk集群负载均衡及session的时候发现,还有一种方式可以实现,就是网上各位大牛们说的mod_proxy反向代理. 实在弄的我的知识细胞洋洋.实践后打个报告,给自己.. 环境说明: 操作系统:win7   64位 Javajdk: 1.7 Apache:httpd-2.2.25-win32-x86-no_ssl.msi    (本地安装路径:D:\Program Files (x86)\Apache2.2\)Tomcat: 7.0.42 

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_ 基于Red5服务器集群负载均衡调度算法研究 http://www.doc88.com/p-0456863461331.html

转】Nginx+tomcat配置集群负载均衡

原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299         感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了.摘一段百度百科上的描述: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务

运维小知识之nginx---nginx配置Jboss集群负载均衡

codyl 2016-01-26 00:53:00 浏览385 评论0 负载均衡 转自 运维小知识之nginx---nginx配置Jboss集群负载均衡-博客-云栖社区-阿里云https://yq.aliyun.com/articles/17925 运维小知识之nginx---nginx配置Jboss集群负载均衡 背景 紧接着上一篇博客<运维小知识---CentOS6.5安装nginx配置nginx sticky>安装完成之后剩下的工作就是配置了,其实如果我们想要去做负载均衡session共享

nginx+双tomcat集群负载均衡(一台机器)

nginx简介 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名. 下面是采用一台机器nginx+双tomcat集群负载均衡方案.当更新项目时可以停止

Dubbo集群-负载均衡

Dubbo集群-负载均衡 你需要一个dubbo-admin的压缩包 你需要将解压包放到tomcate文件下的webapps内(修改E:\tomcat-apache\apache-tomcat-7.0.64\webapps\dubbo-admin\WEB-INF\dubbo.properties中zookeeper地址) 你需要再zookeeper服务启动的情况下,启动tomcate(tomcate/bin/startup.bar) 登录localhost:8080/dubbo-admin 访问页

.net core 跨平台开发 微服务架构 基于Nginx反向代理 服务集群负载均衡

1.概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器. 服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器.集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行. 负载均衡,英文名称为Load

交换机链路聚合技术之负载均衡算法原理

HASH表介绍: 在交换机内部,每创建一个聚合组时,底层同时创建对应该聚合组的一个hash表,该表存在于交换芯片上,详情见互联网相关文章. 交换机负载均衡转发原理:虽然底层有了一张HASH表,那么到底是怎么利用这张表的呢?1)工程师设定端口成员与HASH算法,如SIP.DIP.SIP+DIP.SIP+DIP+SP+DP等.2)交换机根据成员生成HASH表,根据算法提取报文中相应内容.3)使用特定HASH值的计算方法,把提取的内容计算出一个10bits的值.4)找到底层HASH表项中该值对应的出端