小伙子开了一家快餐店叫开封菜,主营炸鸡汉堡薯条,快餐店刚开始营业,小伙子一个人收银、炸鸡,所有活自己干。

假如有一天生病了,餐馆关门停业几天,什么活都干不了,所以这两项工作要解耦(耦:古代指的是两人并肩而耕地,一个不耕了,好家伙,这地就没法耕了)。解耦就是你炸鸡的工作不会影响到我收银的工作,怎么做呢,再招一个员工当收银员,原先那个员工专职做炸鸡师傅,这样就完成了系统解耦(即收银和炸鸡师傅那个工作互不干扰)。

快餐店业务解耦后,业务很快又开始展开了,现在的消费流程是,收银员收款后告知后厨制作,但新问题又出现了,很多客人付款后在那里等,后面来的客人一看人多就走了,前面来的客人点了餐被后面的客人拿走,就很生气,发现这些问题后店铺引入了点餐排号器(这就是队列思想),点餐后客人知道自己是多少号,前面还有多少人,后厨根据点餐的序号进行餐点烹制,既解决了客人点餐的焦虑又解决了出餐和取餐不按顺序来做的困扰,这就是消息队列的作用:提高系统响应速度,顺序处理,削峰。

客人能够有序的拿到自己点的餐,服务满意度提高了,生意也火爆了起来,但后厨仅有一个厨师在炸鸡,只能废寝忘食、加班加点的干活,但还是忙不过来,顾客又开始抱怨了,这个时候店铺一下子招了五个炸鸡师傅,一下子缓解了工作压力,组成了炸鸡集群(集群:同一个业务部署在多台机器上,提高系统可用性).

服务又能正常进行了,可是收银的柜台只有一个,队伍总是排的很长,排在后面的顾客不停的抱怨,这个时候只能增加收银柜台,又增加了三个收银员工,形成了收银集群,服务质量得到了很好的保证,根据实际业务升级的两套集群服务形成了一个集群体系。

随着后厨人数众多,一个厨师要炸鸡,不仅要自己分割鸡肉,还要进行原料的处理,在后厨不停的忙碌,但效率却不高,时间都浪费在去做餐品不同环节的路上和更换原材料、变更厨具上,店铺在请教其他专家后把后厨人员安排成专属环节厨师,这样就加快了餐品的输出,分割鸡肉,裹炸鸡粉,炸鸡分别由三个不同的厨师完成,这就是分布式的特点,加快了各个环节的输出。

现在的生意越来越好,后厨效率也得到了提升,出餐速度非常快,可收银下单的地方人又开始堆积起来,店铺又开了五个收银通道,为了确保每个收银通道都能一起工作避免资源浪费,就在门口安排了一个引导员,将顾客按照顺序引导到每一个收银通道去排队,按照第一个、第二个、第三个,直到第八个后又从第一个开始,这样就确保了每个通道资源不浪费,这就是负载均衡轮询方式的典型应用;

可问题又来了,新安排的收银员由于业务刚上手对操作不熟练,导致分给她的客人迟迟下不了单,而几个老收银员由于业务熟练则能很快完成收银操作,这个时候店铺安排门口的引导员给熟悉业务的收银员多分配一些客人,给业务不熟练的收银员少分配几个客人,这就确保客人能及时的下单,这就是负载均衡权重的方式

整个店铺目前的发展已经非常稳定,各个环节都能够及时处理客人的需要,还有一个问题是店铺无法避免的,那就是用餐高峰总集中在早中晚那几个小时,其他四五个小时店里却没有什么客人,在客人密集的那段时间,后厨操作再快有时也无法满足客人的需要,总有客人抱怨,这个时候店铺就想办法,引进了一个食品保温箱,能够将当天生产的炸鸡汉堡放在里面保持温度而品质又不变,对店里客人经常点的菜品在没有客人的时候提前制作出来放在里面,当有客人下单后直接拿走,这就是热数据缓存机制。

通过以上的服务解耦,引入消息队列,进行集群化分布式改造,进行负载均衡,搭建缓存数据集,小小的快餐店已经从一个单一化服务的店铺晋升为集群分布式服务的店铺,下一步就是接入外卖和外部订单系统进行云服务化。

用【快餐店】理解高并发分布式架构,秒懂!相关推荐

  1. 不懂这些高并发分布式架构、分布式系统的数据一致性解决方案,你如何能找到高新互联网工作呢?强势解析eBay BASE模式、去哪儿及蘑菇街分布式架构...

    互联网行业是大势所趋,从招聘工资水平即可看出,那么如何提升自我技能,满足互联网行业技能要求?需要以目标为导向,进行技能提升,本文主要针对高并发分布式系统设计.架构(数据一致性)做了分析,祝各位早日走上 ...

  2. 服务端高并发分布式架构演进之路(转载,图画的好)

    这个文章基本上从单机版到最终版,经历了加缓存,加机器,高可用,分布式,最后到云等过程,其实我一直想总结一套类似的东西,没想到有人已经先弄出来了,那就不重复造轮子了,而且我感觉这个文章也是花了功夫的. ...

  3. 服务端高并发分布式架构演进之路

    服务端高并发分布式架构演进之路 概述 基本概念 架构演进 单机架构 第一次演进:Tomcat与数据库分开部署 第二次演进:引入本地缓存和分布式缓存 第三次演进:引入反向代理实现负载均衡 第四次演进:数 ...

  4. 服务端高并发分布式架构演进之路(阿里巴巴90秒100亿)

    服务端高并发分布式架构演进之路 阿里巴巴为什么能抗住90秒100亿? 1. 概述 本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大 ...

  5. 阿里巴巴服务端高并发分布式架构演进之路

    文章目录 1 概述 2 基本概念 2.1 什么是分布式 2.2 什么是高可用 2.3 什么是集群 2.4 什么是负载均衡 2.5 什么是正向代理和反向代理 3 架构演进 3.1 单机架构 3.2 第一 ...

  6. 淘宝高并发分布式架构演进之路

    点击上方"开发者技术前线",选择"星标" 16:35 在看 真爱 作者:huashiou. segmentfault.com/a/119000001862616 ...

  7. 淘宝服务端高并发分布式架构演进之路

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列 ...

  8. 淘宝亿级高并发分布式架构演进之路

    https://segmentfault.com/a/1190000018626163 1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段 ...

  9. 8000 字 + 21 张图,服务端高并发分布式架构 14 次演进之路

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | huashiou 来源 | sf.gg/a/1 ...

最新文章

  1. 《Typecript 入门教程》 2、访问控制符:public、private、protected、readonly
  2. 详解tomcat的连接数与线程池
  3. C#抽象类和抽象方法的特征和用途
  4. php 通用购物车,PHP实现购物车代码[可重复使用]
  5. linux怎么搜索特定文件夹,linux如何在特定文件夹中查找特定文件
  6. 7-26 Windows消息队列 (25 分)(详解+思路+超时解决)
  7. uni-app中使用腾讯位置服务实现小程序地图选点功能
  8. 鸿蒙升级后能恢复安卓吗,升级了鸿蒙系统怎么卸载鸿蒙系统?升级了鸿蒙还能用安卓吗?...
  9. 一文带你了解如何排查内存泄漏导致的页面卡顿现象
  10. Xna游戏编辑器开发(WinForm内嵌Xna)
  11. matlab 构建数据集实用 api
  12. javascript call and apply
  13. JavaWeb快速入门(一)——新建JavaWeb项目
  14. 软件工程毕业论文mysql英文翻译_软件工程毕业论文文献翻译中英文对照
  15. PROXMOX 开源虚拟服务器系统安装及配置
  16. 如何Ping特定端口号
  17. 前端构建工具---parcel基础打包应用示例
  18. 如何理解互联网轻资产创业?
  19. 更新pip后出现WARNING:pip is being invoked by an old script wrapper
  20. 图像空间和灰度分辨率

热门文章

  1. CodeForces - 722C Destroying Array(倒着并查集+离线处理)
  2. POJ - 1041 John's trip(欧拉回路)
  3. HDU - 3397 Sequence operation(线段树+区间合并)
  4. 微型计算机技术及应用选择题,微机(微型计算机技术及应用)选择题及答案(最终版).docx...
  5. 机器学习-分类之AdaBoost原理及实战
  6. C语言执行shellcode的五种方法
  7. 逆向工程核心原理学习笔记(十四):栈帧1
  8. 网页出现不河蟹弹窗?那是被劫持了!
  9. 高性能、低成本的高防 IP 产品能现实吗?
  10. C++实现一个简易的线程池