改造后的框架应该满足以下需求:
计算任务的节点可以随时增加能够根据节点的性能分配任务量
那么针对上面的场景和需求,再结合之前的经验,将框架中的角色分为两个: Manager: 负责管理Worker以及给分配任务 Woker: 负责执行分配的任务
为了解耦,这里引入了Kafka作为消息中间件,起到模块间的解耦作用,具体模块间的流程图:
从时序关系来看,大概的流程是:
理解了流程后,写代码实现就好了。