Evernote Export

集群介绍
1.集群介绍
集群:将多个物理机器组成一个逻辑计算机,实现负载和容错
计算机集群简称集群,是一种计算机系统,它通过一组松散集成的计算机软件或硬件连接起来高度紧密地完成计算工作,在某种意义上,他们可以被看做是一台计算机。
组成要素
1.VIP:一个IP地址
2.分发器:nginx
3.数据服务器:Web服务器
传统web访问模型
用户发起请求
服务器接收请求
服务器处理请求(压力最大)
服务器响应请求
缺点:
单点故障
单台服务器资源有限
单台服务器处理耗时长

单点服务器的解决办法:
1.部署一台备份服务器,宕机直接切换
服务器利用率低,成本高,切换不及时,服务器压力依然大
2.部署多台服务器,根据DNS的轮询解析机制去实现用户分发
优势是用户处理速度得到了提升,但是其中一台有故障就会有一部分用户访问不了
3.使用DNS轮询方案
4.多级阵列-集群模式

2.Nginx集群原理
在该集群中Nginx扮演的角色是分发器
任务:接受请求、分发请求、响应请求
功能模块:
1.ngx_http_upstream_moudle  基于应用层分发
2.ngx_stream_core_moudle 基于传输层分发模块
Nginx集群其实是:虚拟主机+反向代理+upstream分发模块组成
虚拟主机:接受和响应请求
反向代理:带用户去数据服务器拿数据
upstream:告诉Nginx去哪个数据服务器拿数据
数据走向:
虚拟主机接受用户请求
虚拟主机去找反向代理
反向代理让去找upstream
upstream告诉一个数据服务器IP
Nginx去找数据服务器并发起请求
数据服务器接收并处理请求
数据服务器响应请求给nginx
nginx响应请求给用户
3.实现基于Nginx分发器的web集群
Nginx安装
配置业务服务器页面
配置nginx分发器
测试分发
nginx集群默认算法
upstream module 
nginx的upstream目前支持4种方式的分配
1.轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除
2.weight
指定轮询几率,weight和访问比率成正比,用户后端服务器性能不均的情况
3.ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题
4.fair(第三方)
按后端服务器的响应时间来分配请求,响应时间段的优先分配
5.url_hash(第三方)
按访问url的结果来分配请求,使每个url定向到同一个后端服务器,后端为缓存时比较有效。
每个设备的状态设置
1.down表示当前的server暂时不参与负载
2.weight默认为1.weight越大,负载的权重就越大
3.max_fails:允许请求失败的次数默认为1,1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
4.fail_timeout:失败超时时间,在连接server时,如果在超时时间之内超过max_fails指定的失败次数,会认为在fail_timeout时间内server不可用,默认为10s
5.backup:其他所有的非backup机器down或者忙的时候,请求backup机器,所以这台机器压力会最轻
4.测试

路飞学城Python-Day182的更多相关文章

  1. 路飞学城—Python爬虫实战密训班 第三章

    路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...

  2. 路飞学城—Python爬虫实战密训班 第二章

    路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...

  3. 路飞学城Python爬虫课第一章笔记

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...

  4. 路飞学城-Python开发集训-第3章

    学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...

  5. 路飞学城-Python开发集训-第1章

    学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...

  6. 路飞学城-Python开发集训-第4章

    学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...

  7. 路飞学城-Python开发集训-第2章

    学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...

  8. 路飞学城-Python开发-第二章

    ''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...

  9. 路飞学城-Python开发-第三章

    # 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...

  10. 路飞学城-Python开发-第一章

    # 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 username = 'pandaboy' password = ' def Login(username ...

随机推荐

  1. 《奋斗吧!菜鸟》 第八次作业:Alpha冲刺 Scrum meeting 2

    项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11012922.html 团队名称 奋斗吧!菜鸟 作业学习目标 A ...

  2. 【ACM】hdu_zs1_1001_水仙花数_201307271504

    水仙花数 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)Total Submissio ...

  3. java editor template Eclipse中的快速Java\JavaScript代码模板使用

    java editor template Eclipse中的快速Java\JavaScript代码模板使用 学习了:http://technicalsearch.iteye.com/blog/2150 ...

  4. cocos2d-x-3.1 NotificationCenter (coco2d-x 学习笔记八)

    在这里分享记录自己的学习NotificationCenter时候的代码,这里用NotificationManager进行管理使用NotificationCenter. NotificationMana ...

  5. Linux系统调用具体解释(怎样从用户空间进入内核空间)

    系统调用概述 计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同一时候执行的多个进程都须要訪问这些资源,为了更好的管理这些资源进程是不同意直接操作的,全部对这些资源的訪问都必须有操作系统控制. ...

  6. ssh无法连接到远端Ubuntu的解决方法

    近日,饱受无法远程登录到新安装在VMWare上的Ubuntu虚拟机,现在发现问题所在.故记录此问题的解决方式,以备后用. 一.远程登录虚拟机的准备: Ubuntu虚拟机的联网方式应该选择Bridged ...

  7. Java网页小程序——Java Applet

    Java Applet是编译过的Java程序,可以在所有支持Java的浏览器中运行. 1.Applet的使用 import java.applet.Applet; import java.awt.Gr ...

  8. 使用Lucene对预处理后的文档进行创建索引(可执行)

    时间: 2015/3/18 杨鑫newlife 对于文档的预处理后.就要開始使用Lucene来处理相关的内容了. 这里使用的Lucene的过程例如以下: 首先要为处理对象机那里索引 二是构建查询对象 ...

  9. 国外物联网平台初探(六) ——Electric Imp

    公司背景 Electric Imp成立于2011年,公司设立在美国加利福尼亚州洛斯阿尔托斯和英国剑桥 公司投资者包括:富士康技术集团.PTI创投.Rampart资本.Redpoint创投 定位 Ele ...

  10. JavaScript:对象

    ylbtech-JavaScript:对象 1. JavaScript Array 对象返回顶部 1. JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值 ...