秒懂负载均衡与反向代理 您所在的位置:网站首页 在线反向代理什么意思 秒懂负载均衡与反向代理

秒懂负载均衡与反向代理

2024-06-26 15:26| 来源: 网络整理| 查看: 265

[版权申明]非商业目的注明出处可自由转载 出自:shusheng007

文章目录 前言概述负载均衡( Load Balancing)负载均衡实现方式负载均衡的作用 反向代理(Reverse Proxy)反向代理的作用 二者区别

前言

这是一篇扫盲小文章

以前总是听说负债均衡与反向代理,但是一直搞不清楚这两个东西,就是感觉好厉害的样子,调查一番后决定记录如下,以便将来查阅。

概述

首先负载均衡与反向代理都是C/S 或者B/S系统后端架构方面的知识。那么什么是负载均衡,什么又是反向代理呢?二者有什么异同,他们用来解决什么问题?具体如何搭建?(本文不会涉及,因为我目前没有实际的搭建经验,希望以后可以学习相关技术)

负载均衡( Load Balancing)

那负载均衡是干什么用的呢?这个涉及到了分布式系统的设计。例如我们现在有两台服务器(Server1和Server2)为用户提供服务,如果没有负载均衡就有可能出现95%的用户都去访问Server1,而只有5%的用户访问Server2。那样不就出现Server1快被压死了,而Server2工作负荷完全不满的情况吗。我们当然希望将用户的访问均衡的分配到这两天服务器上,那样对我们的系统是最有利的,这就是负载均衡最大的意义。

负载均衡:将客户端的请求按照一定的规则分配到一群服务器上,并将处理结果返回给相应的客户端。

所以如果我们现在访问百度服务器,请求首先是发到了是其负载均衡上面,Ip地址也是负载均衡的,我们对其后台的服务器集群一无所知。

负载均衡实现方式 单独的专门做负载均衡的硬件设备,例如F5。软件方式,不需要特定的设备,例如Nginx。 负载均衡的作用 负责调度客户端请求,使其按照最优方式分配到不同的服务器上执行,避免其中某台服务器过载。消除单点失败,这个比较好理解,因为我们有多台服务器,如果其中某一台发生了错误,可以由其他服务器完成请求。通过减少错误返回结果提升用户体验,因为负载均衡可以检查某一台服务器是否存在问题,如果发现存在问题,它就会将请求安排到其他运行良好的服务器上执行,所以用户很少会接到返回失败的错误。session持久化( session persistence),这个名词的意思就是在一个session有效期内,将某一个客户端的所有请求都交给同一个服务器执行。这有什么意义呢?假设我们在淘宝上购物,好不容易花了两小时选了两件心仪的宝贝放到了购物车里面,发现添加第三件的时候前两件不见了,那你是不是想问候一下阿里程序员老妈?为什么会这样,因为Http是无状态的,我们使用session维护状态,那假设前两件商品的操作是在Server1上完成的,而第三件商品是在Server2上完成的,那么这种糟糕的情况就出现了,因为Server2第一次接到这个session。 反向代理(Reverse Proxy)

首先应该明白什么是代理和正向代理,代理应该不用多解释了,理解成中间人就可以了。什么是正向代理,正向代理是内网通过代理访问外网,这个代理就是正向代理。而反向代理是指,外网通过代理访问内网,那这个代理就是反向代理。 假设把你公司的网看成是内网,那么你从公司里面的一台电脑上访问你家里的电脑上的服务,那就的通过正向代理,而你从你家电脑访问公司的这台电脑,就要通过反向代理。

反向代理与负载均衡一样,也是位于客户端与服务器之间,客户端向服务器发起的请求都是先经过反向代理,然后分发到服务器上,然后服务器将返回结果交给反向代理,反向代理在交给客户端。

反向代理的作用 增强了安全性。首先,你背后的服务器是在反向代理后面的,其不会暴露任何信息到网络上,所以可以防止恶意攻击。第二可以防止**DDoS( distributed denial-of-service)**攻击,例如通过限制某一IP访问,限制每个客户端的访问次数等。增强了可伸缩性与灵活性。因为客户端只能看到反向代理的Ip地址,所以我们就可以灵活的改变其后面服务器的配置。加速Web访问速度。第一:将返回结果压缩后交给客户端,这样就会节省网络带宽,从而加快速度。第二:将请求的加密解密操作放在反向代理服务器上行执行。第三:在反向代理服务器上做缓存。 二者区别

最大的区别就是负载均衡只有在服务器大于2台的时候才有意义,其主要侧重于将负载均衡到各个服务器上。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有