设计模式 - Master-Worker模式

Master-Worker模式中 master负责收集任务和初始化,worker负责管理分配协调,具体任务落到具体的task结点中

其分工明确 与MapReduce的分而治之的思想一致。网上很多草图有些不够具体 乍看与Master-Worker模式中编码有一些出入。

准备阶段可以在监听器中 也可以在表中匹配 ,继承 具体的传递 get set 构造器 零时容器都可以,出入参数可以用适合的容器来装载 

其中master相当于老板. 把相关信息给worker ,master所做的行为需要传递给worker 。 注: 也可以在监听器中进行初始化所有的master任务

这个传递的动作可可以在主任务丢进去

worker相当于item leader  在run里面开始分配任务 并得到任务反馈结果进行统计。  注:上面提到监听器处理 在此出可以过滤判断对应的任务

task 可以是接口 可以是调用对象

具体编码可度娘 不做概述,此处只是Master-Worker模式引导的思路

在项目使用上几乎很少运用此模式,考虑过在点击首页上进行统计计算 好像也不太合适,其他业务强加此模式有点锦上添花,相同的任务完全可以用线程代替 用futrue来计算,不同的任务可以用mq异步执行,所以 感觉没有太合适的应用场景,

posted @ 2020-04-02 23:11  吴某1  阅读(276)  评论(0编辑  收藏  举报