从高层次的角度来看,Web应用就是通过HTTP协议对网页浏览器发送的请求进行响应的服务器或者服务【service】。一个Web服务器对请求进行响应的典型步骤如下:

  • 服务器对客户端发来的请求【request】进行解析。
  • 请求被转发给一个预定义的处理器【handler】
  • 处理器可能会从数据库取出数据
  • 处理器根据取出的数据对模板【template】进行渲染(render)
  • 处理器向客户端返回渲染后的内容作为对请求的响应【response】

以上列举的5个步骤从高层次的角度展示了典型Web服务器的运作方式,这种情况下的Web请求被认为是无状态的【stateless】,也就是说,服务器本身不会记录与过往有关的任何信息,这使得失效【fail】的服务器可以很容易地被替换掉。有不少书籍专门介绍了如何优化响应过程的各个步骤,本章要做的事情也类似,不同之处是,我们将介绍如何使用更快的Redis查询来替代传统的关系数据库查询,已经如何使用Redis来完场一些使用关系数据库没有办法高效完场的任务。

本章的所有内容都是围绕着发现并解决【Fake Web Retailer】这个虚构的大型网上商店来展开的,这个商店每天都会有大约500万名不同的用户,这些用户会给网站带来一亿次点击,并从网站购买超过10万件商品。我们之所以将这几个数据量设置的特别大,是考虑【如果可以在大数据背景下顺利解决问题,那么解决小数据量和中等数据量引发的问题就更不在话下】。

results matching ""

    No results matching ""