系统设计4:Web服务和流量限制

阅读材料:

HTTP-Session:

http://www.cnblogs.com/tankxiao/archive/2012/02/13/2342672.html

http://www.cnblogs.com/xueyuwyz/p/3593739.html

日志:

http://dataunion.org/12268.html

http://www.chinawebanalytics.cn/wa-server-logfile-basic-pros-and-cons/

Web服务:

http://blog.csdn.net/tuantuanls/article/details/41288311

http://job.xdnice.com/content/BiShiJingYan/2012-11/3992.htm

DNS:

http://codefine.co/978.html

https://www.slideshare.net/jonoxer/introduction-to-dns

http://linux.vbird.org/linux_server/0350dns.php

浏览器访问过程:

http://blog.csdn.net/bruce_6/article/details/39499439

反向代理:

http://www.admin10000.com/document/6186.html

https://www.zhihu.com/question/24723688

https://www.zhihu.com/question/19761434

lazy load:

https://www.zhihu.com/question/19703400

https://en.wikipedia.org/wiki/Lazy_loading

cache:

http://community.brocade.com/t5/vADC-Docs/Cache-your-website-just-for-one-second/ta-p/73929

CDN:

http://blog.csdn.net/wangqi0079/article/details/8582411

rate limiter:

http://stackoverflow.com/questions/667508/whats-a-good-rate-limiting-algorithm

https://github.com/jhurliman/node-rate-limiter

Token Bucket:

https://en.wikipedia.org/wiki/Token_bucket

http://code.activestate.com/recipes/578659-python-3-token-bucket-rate-limit/

https://engineering.classdojo.com/blog/2015/02/06/rolling-rate-limiter/

秒杀:

http://www.cnblogs.com/rollenholt/p/3393398.html

http://chuansong.me/n/1334017

http://sobuhu.com/program/2013/04/07/how-to-design-seckill.html

http://jag522.iteye.com/blog/2113519

http://mm.fancymore.com/reading/%E7%A7%92%E6%9D%80%E7%B3%BB%E7%BB%9F%E7%9A%84%E8%AE%BE%E8%AE%A1.html

http://itindex.net/detail/53237-%E7%A7%92%E6%9D%80-%E7%B3%BB%E7%BB%9F-%E8%AE%BE%E8%AE%A1

12306:

http://itindex.net/detail/39902-%E7%B3%BB%E7%BB%9F-%E8%AE%BE%E8%AE%A1

http://coolshell.cn/articles/6470.html

1、打开google网页时发生什么

网页访问失败率:连接失败数/全部连接数、一个网页都看不了的用户数/总用户数

http://blog.csdn.net/bruce_6/article/details/39499439

不耐烦用户

2、如何加速一个网页访问

  • 反向代理+多服务器
  • 压缩内容(js库)、压缩图片、lazy load
  • 缓存:浏览器、ISP cache、反向代理、应用服务器cache

3、如何设计一个秒杀系统

  • QPS:10 iphone,100W QPS(轰击流量)
  • 两级队列
  • 减少流量
    • 减少页面大小
    • 静态页面
    • 代理
    • 限制请求量(js,rate limit)
  • 保持简单
    • 无数据库:内存和日志
    • 无锁
  • 隔离
    • 挡冲击的服务器不要有其它逻辑
    • 异步
  • 攻击
    • IP
    • 验证码
  • Lottery

4、如何设计一个流量控制系统

  • 请求间隔
  • 吊桶(数据库、非数据库)
  • 队列
  • Token Bucket
时间: 2024-10-31 15:43:54

系统设计4:Web服务和流量限制的相关文章

linux中web服务中间件软件及服务端和客户端软件

一.中间件: 1.认识中间件: 中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务.面向服务的体系结构等中应用比较广泛. IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能. 该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那

读书笔记--大规模web服务开发技术

总评   这本书是日本一个叫hatena的大型网站的CTO写的,通过hatena网站从小到大的演进来反应一个web系统从小到大过程中的各种系统和技术架构变迁,比较接地气. 书的内容不是很难,所以总的来说比较容易阅读,不需要特别累的啃,可想而知,不是非常深入的,更多的还是把作者的一些经验写出来,hatena这种量级的在国内应该是一个中型网站的水平,作者基本把这个量级web服务的运维的方方面面都讲了一遍,看完可以对这个这种量级网站有一个总体的了解,个人认为还是值得一读的. 逐章读书笔记: 第一章 大

高性能Web服务之varnish应用详解及实战应用

Varnish是一款开源的反向代理软件和HTTP加速器,也称为带缓存反向代理服务,与传统的Squid相比,Varnish具有性能更高.速度更快.管理更方便等诸多优点,很多大型的运营网站都开始尝试使用Varnish来替换Squid,这也是促使Varnish迅速发展起来的原因. Varnish同时也可作为Web缓存服务器,Web缓存(web cache)到底是是什么?Web缓存是指一个Web资源(如html页面,图片,js,数据等)存在与Web服务器和客户端(浏览器)直接的副本.缓存会根据进来的请求

web服务的一些基础笔记

1. MIME(Multipurpose Internet Mail Extension,多用途互联网邮件扩展) 它是SMTP能够传输非文本格式文件的根源,将他引入到HTTP,那么HTTP也可以传输图片声音等非文本格式的文件,所以他也是HTTP可以传输非文本格式文件的根源. 将非文本数据在传输数据前重新编码为文本格式,接收方能够用相反的方式将其重新还原为原来的格式,还能够用相应的程序来打开. 2.flash,Applet(Java中), Flash也是一种变成语言.可以有动态网页. 3.动态网页

高性能Web服务之lnmp架构应用

传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发连接请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下.生成一个新的进程/线程需要事先备好其运行时环境,这包括为其分配堆内存和栈内存,以及为其创建新的执行上下文等.这些操作都需要占用CPU,而且过多的进程/线程还会带来线程抖动或频繁的上下文切换,系统性能也会由此进一步下降. 在设计的最初阶段,nginx的主要着眼点就是其高性能以及对物理计算资源的高密度利用,因此其采用了不同的架构模型.受启发

大规模web服务开发技术 读书笔记之一

作为一个web开发的小白,本书对我还是很有指导意义的. 1. 本书讲解的内容 一开始本书就给出了讲述的内容 1. 什么是大规模web服务开发? 2. 面对大规模数据问题时,处理的基本思路和重点在那里? 例如cache缓存机制,大规模数据情况下数据库的运用方法. 3. 算法与数据结构的选择 4. 规模超出RDBMS处理能力时,如何处理? 上面的内容贯穿整本书,怎么强调都不为过. 2. web 服务的规模 多大才算大规模? 1. 百万级用户注册,millions, 独立用户(unique user)

《Introduction to Tornado》中文翻译计划——第五章:异步Web服务

http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth310/itt2zh上面持续更新,本文内容可能不是最新状态,请在GitHub上获得最新版本. 本文也可在http://demo.pythoner.com/itt2zh上进行格式化的预览. 第五章:异步Web服务 到目前为止,我们已经看到了许多使Tornado成为一个Web应用强有力框架的功能.它的简单性.易用性

Web服务(Apache、Nginx、Tomcat、Jetty)与应用(LAMP)

Web服务和应用是目前信息技术领域的热门技术.如何使用Docker来运行常见的Web服务器(包括Apache.Nginx.Tomcat等),以及一些常用应用(LAMP.CMS等).包括具体的镜像构建方法与使用步骤. 两种创建镜像的过程.其中一些操作比较简单的镜像使用Dockerfile来创建,而像Weblogic这样复杂的应用,则使用commit方式来创建. Apache Apache是一个高稳定性的.商业级别的开源Web服务器.目前Apache已经是世界使用排名第一的Web服务器软件.由于其良

使用ntopng,在Linux上搭建基于Web的网络流量监控系统

Ntopng 简介: Ntopng是原ntop下一代版本,用于网络流量实时监控显示.Ntopng类似于RMON远端网络监控代理,具有内置的Web服务能力,使用redis键值服务按时间序列存储统计信息.你可以在任何指定的监控服务器上安装ntopng,只需使用任一web浏览器,就能实时访问服务器上的流量报告了. Ntopng 常用功能说明: 根据许多协议对网络流量进行排序: 显示网络流量和IPv4/v6的活动主机: 显示主机的地理位置: 显示IP的各种协议流量分布: 根据源/目的IP流量分析和排序: