开场
读了 陈绍业.大规模分布式系统架构与设计实战[M]机械工业出版社,2014.2。
根据里面的模型延伸。
开发中用到了分布式计算的系统。但是没有仔细去琢磨其中的设计理念。
本文延伸书中的内容,尝试用更简单的语言去阐述一种分布式计算的模型。
0x001 现实生活中的分布式计算
每天都会有各种各样的新的公司成立,公司嘛,总是有愿景滴,这个愿景呢,就是分布式计算的结果。那么为了达成这个愿景呢,就需要做分布式计算。谁来做分布式计算呢?当然是员工了。也就是worker。
那么问题来了,我去哪里找这些员工呢?明显是招聘对吧?你总不能指望一个人完成所有的工作吧?我们把所有介绍工作的都称为猎头。猎头维护了大量的求职者的信息,大把大把的资源,而且求职者也会向猎头提交简历并询问有没有工作可以推荐。 当然在这里猎头可以是一个,也可以是多个,我们简化成一个。当然多个也并不复杂。
公司需要员工,向猎头询问员工信息,猎头把目前没有工作的求职者的信息给A公司。A公司问求职者A愿不愿意来工作,求职者说我可以来。接着就是求职者入职啦。
有人了,公司怎么分配工作呢?这就是分布式的分片,由公司领导完成。
怎么干活呢?公司A给员工A(求职者A已经变成了员工A)分配工作,这个就是分布式计算的输入啦。怎么完成这个工作呢?公司要先培训,这里的培训就可以理解为任意一个员工经过培训都可以做这个工作,即开发人员定义了工作方式,你只要按着我给你说的做,那么就会有结果。
公司可能不断询问员工工作进展,那么这里就是整个task的进度。工作完成了&#