负载均衡相关

负载均衡就是将负载(一般指的是访问请求)分摊到多个服务器上执行。 比如有A/B/C三台服务器搭建了web应用集群,当发送访问请求时,通过负载均衡,可以访问其中一台服务器,进行业务处理。

一,载体维度分类

从支持负载均衡的载体来看,可以将负载均衡分为两类:硬件负载均衡、软件负载均衡

1. 硬件负载均衡

常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点简单,有专业的人负责;缺点就是  如果你是土豪,可以考虑,但是对于规模较小的网络服务来说暂时还没有需要使用。

2. 软件负载均衡

目前使用最广泛的三种负载均衡软件Nginx/LVS/HAProxy,他们都是开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用较低。足以见得,搞软件的是多么不值钱!

3. 成熟的架构

负载均衡业界早已有成熟的架构,比较常用的有LVS+Keepalived、Nginx+Keepalived、HAProxy+Keepalived。

二,网络通信分类

软件负载均衡从通信层面来看,又可以分为四层和七层负载均衡。

1)七层负载均衡:就是可以根据访问用户的 HTTP 请求头、URL 信息将请求转发到特定的主机。

DNS 重定向

HTTP 重定向

反向代理

2) 四层负载均衡:基于 IP 地址和端口进行请求的转发。

修改 IP 地址

修改 MAC 地址

三,负载均衡算法

常见的负载均衡算法的特性及原理:轮询、随机、最小活跃数、源地址哈希、一致性哈希

四,Nginx和Ribbon

根据软件负载均衡处理位置的不同,可以分为服务端负载均衡客户端负载均衡

服务端负载均衡指的是发送请求后,分配服务器执行请求,一般可以通过nginx实现;

客户端负载均衡指的是发送请求前,先决定哪台服务器执行请求,再发送请求

1)Ribbon 就是一个负载均衡器客户端,由两个作用

  • 负载均衡

  • 拦截RestTemplate 发起的请求,将请求路径中的服务名跟据负载均衡算法转为对应的 ip 端口

  • 常用负载均衡:算法随机,轮询,重试,最低并发,响应时间加权

  • Spring Cloud Alibaba2021版本后,nacos中移除了Ribbon,替代Ribbon的是Spring Cloud自带的LoadBalancer,默认使用的是轮询的方式

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值