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

文章目录

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

前言

这是一篇扫盲小文章

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

概述

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

负载均衡( Load Balancing)

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

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

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

负载均衡实现方式

  1. 单独的专门做负载均衡的硬件设备,例如F5。
  2. 软件方式,不需要特定的设备,例如Nginx。

负载均衡的作用

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

反向代理(Reverse Proxy)

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

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

反向代理的作用

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

二者区别

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

秒懂负载均衡与反向代理相关推荐

  1. Nginx HTTP 负载均衡和反向代理

    1.负载均衡和反向代理介绍 负载均衡是多台服务器对称方式组成一个服务器的集合,每个服务器都能单独对外提供服务,通过负载均衡技术,将客户端请求均匀的分配到服务器集合中的某个服务器上,然后服务器独立响应客 ...

  2. nginx 一个请求发给多台机器_Nginx系列二:负载均衡与反向代理

    一.负载均衡 1.什么是负载均衡 随着请求数的快速增长,单服务器已经无法承担大量用户的并发访问,这个时候,就需要建立服务器集群,来让多台服务器协同工作,提高整体项目的吞吐量和QPS.假设一台设备资源占 ...

  3. ubuntu apache2 的负载均衡和反向代理

    apache功能其实很是强大,最近一段时间研究了下apache的反向代理和负载均衡,反向代理网协的外网出口和我的博客出口就是通过apache的反向代理实现的,总结一下,重点说说负载均衡的配置. 首先说 ...

  4. 负载均衡、反向代理 与F5

    负载均衡.反向代理 与F5 一.负载均衡 1.什么是负载均衡 随着请求数的快速增长,单服务器已经无法承担大量用户的并发访问,这个时候,就需要建立服务器集群,来让多台服务器协同工作,提高整体项目的吞吐量 ...

  5. 运维之道 | Nginx负载均衡、反向代理

    Nginx负载均衡.反向代理 一.代理服务器 1.什么是代理服务器? 客户端访问数据的时候,不会直接与目标服务器进行连接,而是所有的请求都发送到代理(Proxy)服务器,然后代理服务器会去根据你的请求 ...

  6. 查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法

    查找"CDN.负载均衡.反向代理"等大型网络真实IP地址的方法     首先,CDN.负载均衡.反向代理还分为很多层,有时查出来的是最外层的 CDN 服务器群,真实的机器是不对外开 ...

  7. Nginx HTTP负载均衡和反向代理配置

    当前大并发的网站基本都采用了Nginx来做代理服务器,并且做缓存,来扛住大并发.先前也用nginx配置过简单的代理,今天有时间把整合过程拿出来和大家分享,不过其中大部分也是网上找来的资源. nginx ...

  8. nginx负载均衡以及反向代理

    1.实验前准备 所需两台主机如下: node1:eht0 192.168.4.82 eht0:0 192.168.4.98 在此说明一下,因为实验条件有限,这里为一台机器网卡配置了两个IP,但不不影响 ...

  9. Nginx负载均衡和反向代理

    1:反向代理 代理就是中介,那有反向代理就有正向代理,两者的区别是什么嘞? 正向代理隐藏真实客户端,服务端不知道实际发起请求的客户端.,proxy和client同属一个LAN,对server透明: 反 ...

最新文章

  1. 原子层沉积(ALD)和化学气相沉积(CVD)微电子制造铜金属化的研究进展
  2. python os.walk()
  3. 再读《精通css》04:盒模型和空白边叠加
  4. 你在京东购买的商品,是怎么出现在抖音里面的?
  5. 二进制函数_SERVERLESS函数小解
  6. js中直接对字符串转义-用于solr ulr 关键词转义
  7. 基于VTK的MFC应用程序开发(2)
  8. .net core实践系列之短信服务-Api的SDK的实现与测试
  9. ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(四) 添加表情、群聊功能...
  10. 第七章读书笔记《深入理解计算机系统》
  11. Hadoop YARN最近几个新特性
  12. c++使用完成端口实现服务器的高性能并发
  13. pygame教程笔记
  14. HTMLCSS常见面试题
  15. 网络安全之KALI使用
  16. Java架构师必备知识体系
  17. 安卓手机显示连接不上服务器,安卓手机无法连接服务器
  18. Python入门之print()函数中sep和end的用法
  19. 笔记本电脑html电视,笔记本电脑变电视怎么设置
  20. scrapy初步-简单静态爬虫(爬取电影天堂所有电影)

热门文章

  1. oculus integration+unity 开发入门——环境配置笔记
  2. 孪生网络入门(上) Siamese Net及其损失函数
  3. MATLAB GUIDE入门1
  4. MySQL - 如何使用SQL语句交换男女性别
  5. Android中保持Service的状态
  6. 别听风就是雨,多做b超对胎儿有伤害?有这几种情况才需要多做
  7. 复习java基础笔记
  8. 支持linux自动关机的ups,使用 apcupsd 实现 UPS 断电自动关机
  9. Android 桌面角标的适配
  10. LGT8F328P怎么样?没有烧录器卖,掉固件又掉Bootloader