负载均衡(Load balance)是一种计算机网络技术,用于在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳资源使用、最大化吞吐率、最小响应时间以及避免过载的目的。使用带有负载均衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载均衡通常分为软件负载均衡和硬件负载均衡两种。

软件负载均衡是指在一个或者多个交互的网络系统中的多台放服务器上安装一个或多个相应的负载均衡软件来实现一种均衡负载技术。软件可以很方便的安装在服务器上,并且实现一定的均衡负载功能。软件负载均衡技术配置简单、操作也仿版,最重要的是成本很低。

硬件负载均衡是指在多台服务器间安装相应的负载均衡设备,也就是负载均衡器(如F5)来完成均衡负载技术,与软件负载均衡技术相比,能达到更好的负载均衡效果。由于硬件负载均衡技术需要额外的增加负载均衡器,成本比较高,所以适用于流量高的大型网站系统。

这里主要讨论的是如何有效的对RabbitMQ集群使用软件负载均衡技术,目前主流的方式有在客户端内部实现负载均衡,或者使用HAProxy、LVS等负载均衡软件来实现。RabbitMQ而言可以在客户端连接时简单的使用负载均衡算法来实现负载均衡。负载均衡算法有很多种,主流的有:

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

加权轮询法

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

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

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

RabbitMQ负载均衡(1) - 朱小厮的博客 - CSDN博客

最新文章

  1. 学习varnish随笔
  2. 使用CTex完成北京科技大学本科生毕业设计
  3. iOS:给Git仓库上传代码时,超过100M会被拒绝(例如github和oschina)
  4. 利用decorator和descriptor进行数据缓存
  5. [再寄小读者之数学篇](2014-11-19 $\sin x/x$ 在 $(0,\pi/2)$ 上递增)
  6. 一个高级PHP工程师所应该具备的
  7. Jquery实现图片切换效果(IE,FF,Goole)都可以正常运行
  8. 在webx.ml中 配置struts2 后 welcome-file-list 失效的解决办法
  9. top命令总结
  10. [Redis] - redis实战1
  11. eclipse 报错Version 1.6.0_45 of the JVM is not suitable for this product. Version:1.7 or greater is required
  12. 批量下载Coursera及其他场景上的文件
  13. Centos下命令行编译MapReduce代码(Java)并打包在Hadoop中执行
  14. Android SDK platforms build-tools等镜像下载
  15. DRL 教程 | 如何保持运动小车上的旗杆屹立不倒?TensorFlow利用A3C算法训练智能体玩CartPole游戏
  16. 【PyQt5 学习记录】008:改变窗口样式之二
  17. ASP.NET 构建高性能网站 第4篇
  18. ORACLE-DataGuard-重启服务器的方法
  19. GRUB2 分析 (三)
  20. [Algorithms] Longest Increasing Subsequence

热门文章

  1. C++中的构造函数,拷贝构造函数,赋值函数
  2. sort中的比较函数compare
  3. SSM框架整合(实现从数据库到页面展示)
  4. [LeetCode] 41. First Missing Positive ☆☆☆☆☆(第一个丢失的正数)
  5. MVC,重写AuthorizeAttribute实现自己的权限验证(一)
  6. 玩转X-CTR100 l STM32 l STM32F4 l 蓝牙串口通信
  7. 2018-2019-2 网络对抗技术 20165202 Exp1 PC平台逆向破解
  8. 2019.1.11 EDVT
  9. compile——生成ast
  10. SWIFT推送之本地推送(UILocalNotification)