什么是客户端负载均衡
我们之前有一篇文章详述了如何使用nginx实现负载均衡( Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享 ),在这篇文章中,我们实现了如何将客户端发来的请求通过Nginx负载均衡服务器发送到不同的上游服务器去处理,这种负载均衡就是一种典型的服务端负载均衡,那么客户端负载均衡是什么?它和服务端负载均衡有什么区别? 本文是Spring Cloud系列的第五篇文章,了解前四篇文章的内容有助于更好的理解本文: 1. 使用Spring Cloud搭建服务注册中心 2. 使用Spring Cloud搭建高可用服务注册中心 3. Spring Cloud中服务的发现与消费 4. Eureka中的核心概念 服务端负载均衡 负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的重要手段之一,但是一般情况下我们所说的负载均衡通常都是指服务端负载均衡,服务端负载均衡又分为两种,一种是硬件负载均衡,还有一种是软件负载均衡。 硬件负载均衡主要通过在服务器节点之间安装专门用于负载均衡的设备,常见的如F5。 软件负载均衡则主要是在服务器上安装一些具有负载均衡功能的软件来完成请求分发进而实现负载均衡,常见的就是Nginx。 无论是硬件负载均衡还是软件负载均衡,它的工作原理都不外乎下面这张图: 无论是硬件负载均衡还是软件负载均衡都会维护一个可用的服务端清单