上个小菜:大型网站的访问全流程

访问一个大型网站,当你输入www.sina.com.cn网址后,几秒后,在网页中显示了具体内容,这一切经历了什么?其实台上一分钟,台下十年功,背后发生了很多事,今天我们一起来看一看。

1、在IE中输入域名后,首先访问DNS

你先发现通过智能DNS的作用,不同的来源,比如电信、移动、联通的用户,得到的IP地址是不同的。这样能从第一步保证网站的访问速度。如下图,电信、联通用户通过相同的DNS解析后,将访问不同的目标IP地址网页。

注:智能DNS实际需要域名服务商、或你的自建DNS的支持。

2、访问网页时,web服务器将产生PV、UV数据

打开首页时,web服务器将产生log日志,一个网页对应一个PV(Page View)。而同一个IP地址将只产生一个UV(Unique Visitor)。如果你访问了该网站的多个网页,那么一个UV对应多个PV。如果是一个购物型的网站,PV值应更小一些,保证用户能过几个网页即可成功下单。

3、哪个web服务器为你提供服务,需要有个需要由LVS负载均衡器决定

通过LVS(如F5、Nginx)的判断,在前台数十个服务器中选择一个web服务器为你提供网页解析服务。LVS可以按轮询、权重、源IP Hash等多种“心情”来决定,哪台服务器被选择中。一旦被选中,在一段时间内,将由该web服务器为你提供持续服务。

4、在web服务器的前面,一般有CDN的功劳

大家可以查看taobao.com等网站源码,图片等静态的资源来自于https://img.alicdn.com。该域名实际是taobao的CNAME指向地址。从而实际图片等资源走CDN服务,而其它动态资源仍走taobao.com的正常服务路由。

注:用户如果需要使用CDN服务,需要将网站的CNAME指向提供CDN服务的服务商智能DNS中。通过智能DNS的调度,将你的静态资源请求指向最近的CDN服务器。

5、如果你在网页的搜索条中输入“最新的新闻”,将启动弹性搜索服务

“最新的新闻”,将进行自动分词,如“最新”、“新闻”,通过在弹性搜索服务器的数据库中,检索出现这两个词最多的文章,并将该文章排序推荐给你。实际搜索引擎也是这个原理。

6、你所有的单击动作、输入内容、停留时间将全部被记录,作为数据分析源

你的所有动作,背后都将记录在web server的log日志中,可采用MongoDB、HBase这类文档型的数据库,作为后期非实时计算的数据源。而对于实时交易型的数据,通过Storm等流式计算,将结果存入Oracle、Mysql等数据库中,由DataView可视化插件实时显示在大屏中(阿里双11的大屏也来自于此方法)。

一个网站的结果呈现,上面的简介只是一个非常简略的过程,实际过程还有待我们继续学习。

希望以上文章能帮到您。

更多内容实时更新,请访问公众号。    

点击这里,获取最高¥1888阿里云产品通用代金券

猜你喜欢

转载自blog.csdn.net/qq_29718979/article/details/93789620