从一个例子看网站发展过程

来源:互联网 发布:手机阿里云下载 编辑:程序博客网 时间:2024/05/17 07:25

    看到心动之处,总是会提笔摘下,声明一下下面的小故事摘自淘宝技术十年,是由HSF的作者毕玄写的,很令人感慨的一本书。

例子

    一家小超市,一个收银员,同时还兼着干点其他的事情,例如,打扫卫生、摆货。

    来买东西的人多起来了,排队很长,顾客受不了,于是增加了一个收银台,雇了一个收银员。

    忙的时候收银员根本没时间去打扫卫生,超市内有点脏,于是雇了一个专门打扫卫生的。

    随着顾客不断增加,超市也经过好几次装修,由以前的一层变成了两层,这个时候所做的事情就是不断增加收银台、收银员和打扫卫生的人。

    在超市运转过程中,老板发现了一个现象,有的收银台很长的队,有些收银台排的人不多,了解后知道是因为收银台太多了,顾客根本看不到现在各个收银台的状况。对于这个现象,一种简单的方法就是继续加收银台。但一方面,超市没地方可加收银台了,另一方面,作为老板,当然不需要雇太多的人,于是开始研究怎样让顾客了解到收银台的状况,简单地加了一个摄像头和一个大屏幕,在大屏幕行显示目前收银台的状况,这样基本解决了这个问题。

    排队长度差不多后,又出现了一个现象,就是有些收银台速度明显比其他的慢,原因是排在这些收银台的顾客买的懂细特别多,于是又想了一招,就是设立专门的10件以下的通道,这样买东西比较少的顾客就不用排太长的队了,这一招施展后,顾客的满意度明显提升,销售额也好了不少,后来就继续用这招应对团购状况、VIP状况。

    在解决了上面的一些烦心事后,老板关注到了一个存在已久的现象,就是白天收银台很闲,晚上则很忙,于是从节省成本上考虑,决定实行部分员工只在晚上上班的机制,白天则关闭一些收银台,顾客仍然可以通过大屏幕看到哪些收银台是关闭的,避免走到没人的收银台去,实行这招后,成本大大降低了。

    以上是生活中的例子及其解决方法,其实和互联网网站发展过程中一些技术是非常类似的,只是在技术层面用其他名词来代替了,比如:

  • 集群

    所有的收银员提供的都是收银功能,无论顾客到哪一个收银员面前,都可完成付款,可以认为所有的收银员就构成了一个集群,都希望完成能够做到顾客增加的时候只需增加收银员就行。在现实生活中有场地的限制,而在互联网应用中,能否集群化还受限于应用在水平伸缩上的支撑程度,而集群的规模通常会受限于调度、数据库、机房等。

  • 分工

    收银员和打扫卫生的人分开,这种分工容易解决,而这种分工在互联网中是一项重要而复杂的技术,没有现实生活中这么简单,涉及的主要功能有按功能和数据库的不同拆分系统等,如何拆分以及拆分后如何交互式需要面临的两个挑战。因此,会有高性能通信框架、SOA平台、消息中间件(Notify)、分布式数据层等基础产品的诞生。

  • 负载均衡

    让每个收银台排队差不多长,设立小件通道、团购通道、VIP通道等,这些可以认为都是集群带来的负载均衡的问题,从技术层面上说,实现起来自然比生活中复杂很多。

  • 根据QoS分配资源

    部分员工仅在晚上上班的机制在现实生活中不难做到,而对互联网应用而言,就是一件复杂而且极具挑战的事。

以上只在一部分强调了网站发展过程中需要的一些不断的有利的调整和更新。其实好多技术点还没有在例子中展现出来,比如:缓存、会话的处理、CDN等优化手段;构建一个互联网网站确实不容易,技术含量十足,当然,经营一家超市也不简单。

    互联网源于生活,更高于生活,简单于生活。


感谢您的宝贵时间···

0 1