星期三, 九月 27, 2006

think:如何才能进行分布式计算

遇到些问题需要去解决 ,不了解这方面的情况,谁能告诉我从何下手。
一个web服务,
需要对其进行分布式优化
需求如下:
前端web服务分布进行负载均衡,
中间的数据层分布进行大数据存储和备份,
底层计算分布进行分布式计算。
非即时处理 可以使用异步的方式进行计算


上图是一份数据流的节点图
设想是
1、外部请求通过 Web Main 使用一定的规则进行分流 将请求定位到 web 1 ... web n 上;
2、web 1-n 向 Data Main 索要数据,并最终从 Data 1-n 上获取需要的数据;
3、 Worker Main 为 worker 1-n 分配任务,worker 1-n 自动执行任务,并将数据更新到需要的 data 节点上。

上图:一次处理的数据流
1、处理请求通过 web 1-n 进入系统;
2、web 1-n 将任务提交给 Data Main;
3、worker main 检测到未处理任务,并进行分割提交给 worker 1-n ;
4、worker 1-n 将根据任务进行处理(应该加一个 worker 会将将处理后的结果合并);
5、worker 1-n 通过 Data Main 对数据进行更新;
6、web 1-n 定期通知 web main 检测任务完成状态,直到任务过期或完成。

没有评论: