001/Nginx高可用模式下的负载均衡与动静分离(笔记)
Nginx高可用模式下的负载均衡与动静分离
Nginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,并发能力强特点。
1、处理静态文件、索引文件以及自动索引;打开文件描述符缓冲
2、无缓存的反向代理加速,简单的负载均衡和容错
一、Nginx负载均衡原理

Nginx负责转发到Tomcat(注意:Nginx与Web部署在同一台服务器)。可用下图描述:

说明:
Step1:浏览器发送http请求,通过域名,找到hosts文件下对应的IP。
注:域名工作原理(www.cang.com在网络上申请一个域名,服务器IP要和域名绑定。当访问域名时,要先将域名对应的IP解析出来,去请求服务器的IP。)
当浏览器访问http://域名:80端口时,会将80端口自动打到域名对应IP。如127.0.0.1:80
Step2:Nginx接收浏览器Http请求,对80端口进行拦截,并转发到对应的Tomcat服务器
注:Nginx.config是Nginx的核心配置文件,tomcat服务器地址与拦截信息均配置在该文件中。
二、Nginx神秘面纱

1、负载均衡实战
2、动静分离实战
动态资源:请求后台服务器,做查询、更新、删除等操作,即与DB有交互。(do/action...)
静态资源:图片(ipg,png)css,js...等,客户端第一次请求会将静态资源缓存,下次请求从缓存中取,而不必再请求服务器。

Nginx.conf配置文件:

说明:
upstrewam web1{
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=302;
//Nginx去连接Tomcat在30秒内失败超过2次(Nginx发送2次心跳),则说明Tomcat挂掉了,需要从名单中移除。
//weight=1(权重)
server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=302;
}
tomcat最大连接数:300-700
若有2000并发,1个Tomcat若处理500个并发,则2个Tomcat不够用。需要再增加Tomcat。

以上说明命中8080有三次,命中8081有1次


以上,Nginx挂掉,则所有的Tomcat服务器全部不可用。所以。。。
1、单节点作战(需要备用Nginx)
2、无法满足高可用
三、Nginx高可用集群实战
高可用集群指当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务。
高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务一直在线。
在这个过程中,对于客户端来说是透明的。
Nginx高可用服务流程图

VIP:visual IP (虚拟IP)
需要在主节点与从节点配置VIP(开了一个虚拟IP)。VIP确定访问哪一个Nginx服务器。
先访问主节点,当主节点挂掉。则再根据配置的VIP访问从节点。
应用技术:
1.keepalived安装(应用最多)---目的:保证Nginx不挂掉。
先启动keepalived软件,加载脚本,
keepalived配置文件内容:首先监测Ngnix是否挂掉,进程是否启动。当进程为0,没有Nginx启动时,keepalived会自动将Nginx启动起来。
将主节点的keepalived挂掉(模拟宕机):则此时Nginx存在,不影响访问Nginx。当主节点Nginx挂掉,则从节点变为Master。
2.配置解读
3.主从切换转移
4.基于主从的动静分离和负载均衡
学习网址:
http://www.365yg.com/item/6546186112119865863/
001/Nginx高可用模式下的负载均衡与动静分离(笔记)的更多相关文章
- Nginx加多个tomcat实现负载均衡,动静分离
一:Nginx+Tomcat的动静分离 所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件,从 ...
- Nginx 笔记(三)nginx 配置实例 - 反向代理、负载均衡、动静分离
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.反向代理 反向代理准备工作: (1)在 liunx 系统安装 tomcat,使用默认端口 8080 ...
- Nginx+Tomcat在Windows下做负载均衡
一. 为什么需要对Tomcat服务器做负载均衡 Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站的 ...
- Nginx+Tomcat负载均衡、动静分离群集
Nginx+Tomcat负载均衡.动静分离群集 目录 Nginx+Tomcat负载均衡.动静分离群集 一.Tomcat 1. Tomcat简介 2. Tomcat重要目录 二.Nginx负载均衡原理 ...
- 项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现
实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP ...
- 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现
总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备 ...
- 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现
目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...
- Nginx入门教程-简介、安装、反向代理、负载均衡、动静分离使用实例
场景 Nginx入门简介和反向代理.负载均衡.动静分离理解 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102790862 Ub ...
- 19.Tomcat多实例部署及负载均衡、动静分离
Tomcat多实例部署及负载均衡.动静分离 目录 Tomcat多实例部署及负载均衡.动静分离 Tomcat多实例部署 安装jdk 设置jdk环境变量 安装tomcat 配置 tomcat 环境变量 修 ...
随机推荐
- #10017 传送带(SCOI 2010)(三分套三分)
[题目描述] 在一个 2 维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段 AB 和线段 CD.lxhgww 在 AB上的移动速度为 P ,在 CD 上的移动速度为 Q,在平 ...
- k3 cloud支付申请单下推付款单时候提示未将对象引用设置到对象的实例
项目支付申请部门没有币别没有填写,没有把币别带过来才
- 如何在Set集合中避免重复元素
文章翻译自 Avoiding near-duplicates in sets, 作者Paul Hudson @twostraws是一名优秀的Swifter. 这是我第一次翻译,可能有翻译不到位的地方, ...
- 2018-8-28-win10-uwp-MVVM入门
title author date CreateTime categories win10 uwp MVVM入门 lindexi 2018-08-28 15:37:52 +0800 2018-2-13 ...
- 十大热门AI芯片
资料来源:头条<人工智能影响力报告>中的人工智能十大热门芯片 iPhone X内部搭载了一颗全新定制的处理器——A11 Boinic,用来承担人脸识别和移动支付的工作负荷.双核心A11芯片 ...
- Linux性能优化从入门到实战:05 CPU篇:硬中断、软中断
软中断(softirq)会导致CPU 使用率升高 中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求.中断其实是一种异步的事件 ...
- 04机器学习实战之朴素贝叶斯scikit-learn实现
In [8]: import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl from sklearn.pre ...
- 树——binary-tree-postorder-traversal(树的后序遍历)
问题: Given a binary tree, return the postorder traversal of its nodes' values. For example: Given bin ...
- python3 使用 django-xadmin 遇到的许多坑
几乎所有公司项目都是python2的, xadmin对Python2 很友好,对Python3 很不友好, 所以在Python3 环境下使用xadmin遇到了许多意想不到的坑,在这里记录并分享一下: ...
- [python 学习] random
1.random() 生成一个随机浮点数 import random # x 属于 [0,1) x = random.random() print x 2.uniform() 生成制定范围内的随机浮点 ...