负载均衡算法:
(1)对所有的后台服务器轮训发送请求。
(2)跟踪和后台服务器当前的活跃连接数目,最少的连接数目说明这个服务器负载最轻,将请求分配给它。
(3)请求会分配给响应最快和活跃连接数最少的后台服务器
(4)以用户自定义资源(如url)的方式计算hash值完成分配,其可选consistent关键字支持一致性hash特性。
会话一致性:
用户(浏览器)和服务器端交互的时候,通常在本地保存一些信息,而整个过程叫做一个会话(Session)并用唯一的Session ID
标识。因为HTTP协议是无状态的,所以任何需要逻辑上下文的情形都需要使用会话机制。保证会话一致性:相同的会话每次请求都会分配到同一个后台服务器上。
代理方式是代理内部网络用户访问internet上服务器的连接请求,客户端必须指定代理服务器,将请求先发给代理服务器,代理服务器发给Internet上的服务器。(并将本来要直接发送到internet上服务器的连接请求发送给代理服务器处理。)隐藏了真实的客户端。
Nginx负载均衡策略:
(1)轮询(默认)
每个请求按照时间顺序逐一分配到不同的后台服务器,如果后端服务器down掉,能自动删除

(2)指定权重
指定轮询几率,weight和访问率成正比,用于后端服务器性能不均的情况。

(3)IP绑定ip_hash
每个请求按访问Ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题

(4)fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的有限分配

(5)url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。

动静分离:将动态网站中的动态网页按照一定规则把不变的资源和经常变得资源分开,我们就可以根据静态资源的特点将其做缓存操作。
为什么用Nginx?优点
(1)高并发,高性能
(2)可扩展性好
(3)高可靠性:可以在服务器行持续不间断的运行数年
(4)热部署:可以在不停止Nginx服务的情况下升级Nginx
(5) BSD许可证:可以将源代码下载下来进行修改后然后使用自己的版本
Nginx的四个主要组成部分:
(1)Nginx二进制可执行文件:由各模块源码编译出一个文件
(2)Nginx.conf配置文件:控制Nginx行为
(3)acess.log访问日志:记录每一条HTTP请求信息
(4)error.log错误日志:定位问题
grpc远程调用:
grpc是基于HTTP2.0传输层协议承载的高性能开源软件框架。下面所有的信息都由给RPC进行封装:gRPC分层框架

交换机在开启gRPC功能后充当gRPC客户端的角色,采集服务器充当gPRC服务器角色
交换机会根据订阅的事件构建对应数据的格式(GPB/JSON),通过Protocol Buffers进行编写proto文件,交换机与服务器建立gRPC通道,通过gPRC协议向服务器发送请求信息。
服务器收到请求消息后,服务器通过Protocol Buffers解释proto文件,还原出最先定义好格式的数据结构,进行业务处理
数据梳理完后,服务器使用Protocol Buffers重新编译应答数据,通过gRpc协议向交换机发送应答消息
交换机收到应答消息后,结束本次给RPC交互
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。隐藏了真实的服务器。
Nginx就是性能非常好的反向代理服务器,用来做负载均衡。

​ 在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。

反向代理的实现:

1)需要有一个负载均衡设备来分发用户请求,将用户请求分发到空闲的服务器上

2)服务器返回自己的服务到负载均衡设备

3)负载均衡将服务器的服务返回用户

​ 以上的潜台词是:用户和负载均衡设备直接通信,也意味着用户做服务器域名解析时,解析得到的IP其实是负载均衡的IP,而不是服务器的IP,这样有一个好处是,当新加入/移走服务器时,仅仅需要修改负载均衡的服务器列表,而不会影响现有的服务

反向代理负载均衡技术:把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。

反向代理负载均衡能以软件方式来实现,如apache mod_proxy、netscape proxy等,也可以在高速缓存器、负载均衡器等硬件设备上实现。
优点:(1)反向代理负载均衡可以将优化的负载均衡策略和代理服务器的高速缓存技术结合在一起,提升静态网页的访问速度,提供有益的性能;
(2)由于网络外部用户不能直接访问真实的服务器,具备额外的安全性(同理,NAT负载均衡技术也有此优点)。

其缺点主要表现在以下两个方面:
(1)反向代理是处于OSI参考模型第七层应用的,所以就必须为每一种应用服务专门开发一个反向代理服务器,这样就限制了反向代理负载均衡技术的应用范围,现在一般都用于对web服务器的负载均衡。
(2)针对每一次代理,代理服务器就必须打开两个连接,一个对外,一个对内,因此在并发连接请求数量非常大的时候,代理服务器的负载也就非常大了,在最后代理服务器本身会成为服务的瓶颈。
一般来讲,可以用它来对连接数量不是特别大,但每次连接都需要消耗大量处理资源的站点进行负载均衡,如search等。

nginx 反向代理 以及优缺点相关推荐

  1. Nginx反向代理以及负载均衡配置

    一 .nginx 的优缺点: nginx 相对 apache 的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则 ...

  2. 分布式与微服务系列(三)、SpringBoot+Zookeeper集群+Nginx反向代理+Dubbo分布式托管(提供者、消费者)

    SpringBoot+Zookeeper集群+Nginx反向代理+Dubbo分布式托管(提供者.消费者) 一.软件架构和微服务需求 1.1.微服务需求 1.2.框架选择 1.3.集群分布(下面为此图实 ...

  3. nginx反向代理原理及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  4. nginx 反向代理,动静态请求分离,proxy_cache缓存及缓存清除

    一,nginx反向代理配置 #tomcat 显然就是用户访问www.wolfdream.com(需要设置本地localhost,将www.wolfdream.com指向nginx所在IP)的时候(或将 ...

  5. nginx反向代理原理讲解

    一 .概述                  反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果 ...

  6. 懂点 Nginx 反向代理与负载均衡,是面试加分项没有之一

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 学到老活到老 前端圈一直很新,一直要不停的学习,而且在进入大厂的路上,还要求熟悉一门后台语言等等 ...

  7. Nginx——反向代理

    通过Nginx来实现反向代理,具体配置实例如下所示: 一.反向代理实例一 1.目标 在浏览器地址栏输入www.test.com,可跳转到linux系统tomcat的主页面中. 2.前置工作 (1)在l ...

  8. nginx反向代理,负载均衡

    nginx 反向代理(Reverse Proxy)是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户 ...

  9. 配置nginx反向代理jira并实现https

    摘要: 配置nginx反向代理jira并实现https 配置Tomcat 在本文中,我们设置可以在地址http://jira.aniu.so/jira(标准HTTP端口80)上访问JIRA,而JIRA ...

最新文章

  1. SVO Without ROS环境搭建
  2. update-rc.d: error: XXX Default-Start contains no runlevels, aborting.
  3. html的文档类型三种,XHTML文档类型
  4. PyTorch 1.0 中文文档:torch.Storage
  5. RS特性总结(思维导图)
  6. CACHE的一些名词术语
  7. vvv在线文档导出工具_墙裂推荐 | 在线文档编辑工具
  8. 随机森林模型预测和交叉验证
  9. 20160213为王伟写的挪点号,也可以叫它为文字避让
  10. Word自定义目录的设置
  11. 加州欧文大学计算机申请,加州大学欧文分校申请
  12. 几款好看的HTML按钮样式
  13. 【nmon】nmon :服务器监控数据采集
  14. CSS-animation-梦幻西游小案例
  15. Linux Vim搜索替换命令详解 :%s/foo/bar/g
  16. 虚拟主播是什么,有什么技术原理?- 沉睡者IT
  17. Mac中vim永久显示行号
  18. 推荐uml 流程图 在线编辑工具
  19. 古人对梦的解释_中国古代对梦的解释-精选文档
  20. 上海市专业计算机学校地址,上海计算机专业学校

热门文章

  1. PHPExcel的常用功能
  2. EasyCVR对接华为eSDK IVS,1400查询采集系统列表和详细信息
  3. 泛微oa明细表添加按钮_泛微OA 新增功能:表格单建模详解.doc
  4. csv文件完整操作总结
  5. autoware.auto泊车规划模块介绍(一)
  6. 在哪里进行雅思学习比较好
  7. 鸟哥Linux私房菜:第五章笔记
  8. 公众号自动回复需要服务器,关于微信公众号消息自动回复5秒限制问题的解决方案...
  9. 解决genymotion使用内置浏览器访问网页Webpage not available的问题
  10. 机器学习 之 决策树和随机森林