我是靠谱客的博主 如意乌龟,最近开发中收集的这篇文章主要介绍整理负载均衡笔记:LVS、Nginx、Ribbon、Spring Cloud Balancer、Dubbo中的负载均衡,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

负载均衡就是多进程分担压力。

负载均衡策略

举例:
随机轮询加权随机加权轮询一致性哈希最小活跃度最短响应时间

加权随机就是根据节点的权重划分区间,随机数落在哪个节点的区间,就决定是哪个节点,权重越大,区间越大,随机数落入的概率越大。

加权轮询,举个例子,节点权重1、2、3,来了6个请求,第一个请求由第一个节点负责,第二个和第三个请求由第二个节点负责,最后三个由第三个节点负责。

一致性哈希是哈希环,TreeMap实现。每个节点的哈希值对大小环大小取模,放在哈希环上,以分片策略为例,来了ID,ID对应的哈希值也落在哈希环上,顺时针找到的一个节点,就是对应的节点。哈希环在增删节点时,只影响此节点和逆时针方向的第一个节点之间的ID,ID对应的数据的迁移量小于取模分片。
RedisShardedJedisMycat的分片策略、Dubbo负载均衡中用到了一致性哈希。

最小活跃度,就是选择处理中的请求最少的节点。

最短响应时间,就是选择响应时间最短的节点。

应用

Dubbo用了加权随机、加权轮询、一致性哈希、最小活跃度、最短响应时间,默认随机,也就是权重相等的加权随机。

Ribbon用了随机、轮询,默认轮询。

RedisShardedJedis用了一致性哈希,RedisGroup用了哈希槽。

分层负载

NginxRibbonDubboSpring Cloud Load Balancer控制Http,工作在应用层,是七层负载。

LVS控制TCP,工作在传输层,是四层负载。

HAProxy提供了四层负载和七层负载。KeepalivedHAProxyLVS可用于搭建RabbitMQ、Mycat、MySQL集群。

控制IP,工作在网络层,是三层负载。

控制MAC地址,工作在数据链路层,是二层负载。

最后

以上就是如意乌龟为你收集整理的整理负载均衡笔记:LVS、Nginx、Ribbon、Spring Cloud Balancer、Dubbo中的负载均衡的全部内容,希望文章能够帮你解决整理负载均衡笔记:LVS、Nginx、Ribbon、Spring Cloud Balancer、Dubbo中的负载均衡所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部