负载均衡详解

什么是负载均衡?

负载均衡指将请求分配到不同的服务器处理,提高系统的并发处理能力和可靠性。

负载均衡分为几种

两种

  1. 客户端负载均衡。主要应用于系统内部不同服务之间,客户端会维护一份服务端地址列表,通过负载均衡算法选择其中一个服务端请求。一般Java微服务之间负载均衡使用较多的是Ribbon和Spring Cloud Load Balancer。
  2. 服务端负载均衡。主要应用在系统外部请求的网关层,有硬件和软件两种方式。
    硬件负载均衡是通过专门的硬件设备实现负载均衡功能,比如F5、A10、Array。优点是更稳定,性能更高,但是价格贵。
    软件负载均衡常见有四层和七层负载均衡,虽然性能差点,但是价格便宜,一般使用Nginx较多。
    • 四层负载均衡工作在OSI模型的第四层,也就是传输层,主要是基于TCP/UDP协议,负载均衡器能在这一层看到数据包里的源端口地址和目的端口地址,可以基于负载均衡算法将数据包转发到后端真实服务器,也就是说,四层负载均衡是基于IP+端口实现的负载均衡,不涉及报文内容。
    • 七层负载均衡工作在OSI模型的第七层,也就是应用层,主要是基于HTTP协议,负载均衡器可以读取到报文的部分数据,比如HTTP的请的和URL和cookie,可以基于读取到的数据进行负载均衡,这一层一般也叫做反向代理。

负载均衡算法

  • 随机法
  • 两次随机法
  • 轮询法
  • 哈希法
  • 一致性哈希法
  • 最少连接法
  • 最少活跃法
  • 最快响应法

七层负载均衡

一般最常用实现七层负载均衡有两种方式

  • DNS,在DNS服务器中为同一个域名配置多个ip地址,在请求的时候,DNS服务器就可以根据轮询算法返回ip地址,就实现了轮询负载均衡。
  • 反向代理,将所有请求都请求到反向代理服务器,再由反向代理服务器请求真实服务器,获取数据后再返回给客户端。

客户端负载均衡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值