首页 > 其他 > 详细

分布式服务架构之白话篇(一)

时间:2019-11-25 22:21:55      阅读:76      评论:0      收藏:0      [点我收藏+]

超级服务器的诞生

  我出生于1631年,宿居在柴桑郡爱叶县,家世历来以经商为主,我13岁时候,开始跟着学习如何做买卖。父亲交给我东河附近的一个店铺,我跟父亲商量,店铺以卖盐为营。很快店铺弄好了,我就早晨跑盐税局去弄盐票,然后去盐场批发盐,中午赶回来,下午卖盐,每天工作量简单重复,从来没有差错(结构化程序)。到了年底算了下账,一年收入还行,农家都丰收。到了第二年,佃户换盐量大了不少,我一人累不过来,只能找帮手,一人负责挑盐,一人负责批发盐,一人负责卖盐(函数化程序)。

  这一年干的不错,我手上余钱多了不少,心思活络起来,觉得只卖盐似乎不够满足我的想法,于是跟父亲合计了一下,开始卖布匹,茶叶,大米等商品起来,按照卖盐的思路,将之前的帮手工作内容扩大,批发盐的同时还得负责批发其他商品,挑盐的同时也还得负责挑其他的商品,因此每个人都比之前更忙了(多线程程序)。

  问题很快出现了,有时候挑担的帮手挑盐去了,可是批发布匹的人等着挑盐,而卖商品的人又等着布匹,挑盐的挑回来以后,仓库却无法摆放。工作常常协调不过来,帮手经常互相等待造成工作无法执行下去(哲学家就餐死锁问题,因死锁问题非常多种类,这里不具体列出来,可以参考操作系统原理)。为了这个问题,我琢磨好久,只能设置一些规则出来。由卖货的人来决定挑担的人该干什么活,而挑担的人来决定批发的人该干什么活。

  我的生意很快兴隆起来,因为价格低廉,来买东西的人更多了。帮手已经根本忙不过来,我只能再多请几个帮手(多核计算机)。当人手多了以后,渐渐我发现,安排人手已经忙不过来,每天给每个帮手安排活就够累,还要协调好他们的工作。为此,我请来顾问,帮我重新规划流程。按照设计,将所有做批发的人分配到一个组(数据内容收集组件),类似,挑担的人一个组(消息组件),卖货的人一个组(数据内容消费组件)。而且因为询问商品的人多了以后,建立前台组(web组件),又库存量大,新增库存组(内容存储组件)。还有账目组(数据库组件),等等,每个组分工明确。组之间沟通的内容必须规范化,简洁化,快速化。(组件化设计)

  所有的组都在我的商铺办公,我为此不得不扩大店铺,增高店铺楼层(高性能服务器)。店铺扩大的成本越来越高,楼越高,建材原料越贵,以几何倍数来增加,我有点不堪重负。因为客人的量越来越大,我不得不扩大我的前台和大门(增加带宽);有些客人离我太遥远,为了买我的货不得不一次性采购很多东西,赶上节假日,来的人采购太多,我的店铺无法承受高峰时段的压力;账目的保管和库存的管理,我不得不天天担心着,生怕因为破坏或者着火,让我的事业毁于一旦。每天要整理账目并且备份账目,库存也是分多个地方存贮,但毕竟还在一个大楼里面,我整日无法入睡。(以上都是单台服务器慢慢出现的问题,随着用户访问量加大,问题越来越严重,急需变革。)

分布式服务架构之白话篇(一)

原文:https://www.cnblogs.com/meiwei-91/p/11930674.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!