设计之禅

                                                                                                设计之禅

有一天一个新手跟一个牛人相遇,新手就向那个牛人倾诉自己的困惑。

新手说:

          最近接触到两个新概念scale up 和scale out。这两个概念是什么意思?

牛人说:

        从个人的角度来说,scale up 好比个人努力提升自己的能力。scale out 好比一个团队扩充自己成员。

新手困惑地说:

       那这跟我们的系统设计有什么关系?

牛人笑着说:

       一个系统的中的组件,或者模块就好比一个团队中的个人。团队的整体成绩离不开个人的努力。 一个团队完成的任务,是靠每个人来完成的,因此个人的能力影响到团队任务         的进度、质量。

新手继续问:

       那么一个系统如果超负荷,就好比一个团队任务太重,需要提升个人的能力。

牛人赞许道:

       是的,如果一个团队任务延迟、完成质量比较不好,是要提升团队的个人能力,从而提升团队的能力。但是,个人能力scale up是有限的,是有瓶颈的。这时,团队就要开始 

       去招人,也就是说需要团队进行一定的scale out。

新手若有所思:

       也就是说我们做系统设计的时候,既要做好单点设计,提升单点能力,还要考虑系统的scale out。

牛人赞许道:

        嗯,scale up 和 scale out 是辩证的,要有一定的平衡。正如一个团队不能都招应届生,没有熟手,然后无限的scale out 。这样的scale out 仍然无法解决问题。

新手恍然大悟地说:

        scale up 和 scale out 不能走极端。

牛人笑着说:

        对,而且在一个分布式系统中,也要处理类似团队中木桶问题。一个木桶最短的板决定了木桶能够装多少水。一个集群系统也类似,假如你把任务分割成小任务给集群中的每

       个节点执行,那么这个任务的完成时间是 由最慢的节点完成时间决定的。

新手终于解决了自己的困惑,向牛人说了声谢谢。

牛人谦虚地说:

        你太客气了,不过要记住其实做系统设计遇到的问题,都可以通过生活中的问题来解释。道是相通的!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值