Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2034835
  • 博文数量: 369
  • 博客积分: 10093
  • 博客等级: 上将
  • 技术积分: 4271
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-21 00:59
文章分类

全部博文(369)

文章存档

2013年(1)

2011年(2)

2010年(10)

2009年(16)

2008年(33)

2007年(146)

2006年(160)

2005年(1)

分类:

2006-11-22 23:17:33

虽然目前P2P(Peer to Peer)的体系结构再次成为了互联网程序的研究热门,可相比之下略显的有些传统的C/S(Client/Server)和所谓的B/S(Browser/Server)体系结构并没有停止前进的步伐,至少很多网络服务还都是这种结构,比如当前Web开发人员所趋之若鹜的Web 2.0及所谓的Web 3.0就是建立在HTTP这种C/S结构的协议基础上的。况且,有人称P2P体系结构中的Peer为Servlent,也就是用Server和Client拼凑成的新单词,这足以揭示其集Server和Client为一身的本质了。所以,我们研究Server的体系结构还是大有裨益的。

因为,我所接触的第一本关于网络编程的书是《Linux网络编程》,此书的章节安排也对我影响很大,所以本文也将基本借用它的组织形式,这也符合ESR所提倡的“最小标新立异”原则。为了更形象,避免引入“晦涩”的专业术语,本文将以“老理发师的成功之路”为故事,向大众介绍各体系结构的特点。

1. 串行处理

这也许是最显而易见的体系结构,就好象一个比较小的理发馆只有一位理发师,他每次只能为一位顾客提供服务,并且他的思维有些僵化,总是按照“洗头 - 等待客人擦好头 - 理发”的步骤一丝不苟的进行,当客人擦头时,他只是傻傻地等待,这样,如果有多个人来,就只能排队等待。

2. 非阻塞多处理

有的顾客脑筋比较灵活,他提醒老理发师说:“为什么不利用你等待客人擦头的时间来为顾客洗头呢?”。经过点播,老理发师也意识到了这一点,从此他就不停往返于“等待的长椅”和“理发椅”之间查看客人是否就绪,如果就绪他就为他提供服务。虽然来回的奔波很累,但是老理发师仍然很高兴,因为效率的提升给他带来了更多的回报。

3. 多路分离

时光飞逝,转眼间到了正月。因为当地有个习俗:“正月不准理发,理发妨舅舅”,所以这个月只有少数没有舅舅的或者不肖子孙前来理发,生意惨淡了很多。老理发师仍然保持着上面提到的习惯,每天仍旧很累,但是收入还是减少了,他的热情也就逐渐降低了。一天,他终于在疲惫和无聊的双重压迫下倚在“等待的长椅”上睡着了。过了一会儿,一位客人叫醒了正在沉睡的他,他又开始了忙碌。等这位客人走后,他仔细琢磨了一下,发现这种这种“被动的等待唤醒的方法”确实比以前的“主动轮流询问的方法”要好很多,尤其是在顾客比较少的淡季,这样他就又学了一招:变主动为被动。老理发师成长的确实很快,都会自学了!

4. 多进程/多线程

草是绿了又黄,黄了又绿,年复一年,老理发师已近古稀之年,手脚自然也没有以前那么麻利了,也确实该好好想想清福。恰好,这段时间还真有些人来向他拜师学艺,不如做个顺水人情,也免得这手艺失传。从此,老理发师多了很多学徒作为帮手,他自己则只负责任务的分配,也就是常说的管理。每当有顾客来时,他都要从后院把徒弟叫到前庭来给顾客执行“洗头 - 等待客人擦好头 - 理发”的工序,你可能会问老理发师为什么不教给学生“多路分离”的方法,原因主要有两个:其一,他想节省培训时间和培训费用;其二,他想保留一手。他的第二个原因着实有些龌龊,试问有多少优秀的东西就在这种“保留一手”的意识下逐渐地失传了?

5. 预创建/进程池/线程池

又过了几年,理发店在当地已经小有名气,它每天接待的客人数也在逐渐增加。一天,老理发师将学徒们召集在一起训话:“鉴于客人的增多,为了减少到后台传学徒的延迟,提高工作效率,规定至少要在前台保留n个学徒候命”。规定一实行起来,效益果真提高不少,老理发师很是满意。

6. 任务细化/模块化

买卖越做越大,分工也越来越细,开始是“理发”和“洗头”的分离,后来是管理部,金融部等的成立,甚至老理发师都将公司的管理下放,专心做起了股东,小日子过得美滋滋的。

7. 分布式

真的壮大了,连锁加盟店发展起来并逐渐增多,甚至有了跨过的公司。老理发师成为了名副其实的富翁!

后记:

作者采访了老理发师,他其中的一句话比较有趣,如果有个超人能用“多路分离”的方式招待所有的顾客,他能赚更多,当然超人不存在,所以任务的分离也让他盈了个满贯,虽然多了些“额外开销”。
阅读(1288) | 评论(1) | 转发(0) |
0

上一篇:母亲的生日

下一篇:感恩节

给主人留下些什么吧!~~