zoukankan      html  css  js  c++  java
  • 分布式多计算机调度平台

    方案:

    1,) 目前我们的程序,单独一台计算机一天分析100G以内的xml数据,有选择的将需要的数据入库数据库(sqlserver2008 r2 64)记录近1亿左右,一台128G内存,32核的计算机勉强能完成任务;

    2,) 随着市场的扩展,我们拿到的数据量一天的数据就有1T左右的xml数据,单台计算机运行已经分析完成时间成为了瓶颈,可能需要十天或者更长的时间。

    解决方案:

    为了能够让我们的产品能有更强的生存力,吸引到更多的用户;项目组就有了这么一个讨论:

    方案1,)使用hadoop对这种大数据处理,但由于目前公司针对hadoop技术了解深度有限,正常应用到产品中还需要一段时间,因此hadoop方案只作为实施级别比较低,但不太表我们不会做,时间的问题。

    方案2,)基于我们目前的平台进一步扩展,怎么扩展?

       2.1,)让我们的工具在多个计算机运行,把任务拆分到不同的计算进行运行。假设1T的数据,我们有10计算机,每台给平均分发100G的数据,这样对数据库及计算机的压力会减少少多,横向扩展是我们目前不能立即上线的一个必行方案;

       2.2,)工具扩展后,存储数据库也一定需要扩展,每台计算机最好能对应一台存储数据库,对业务实现及数据库压力减负,都有好处。

       2.3,)对数据库扩展后,应用端怎么合并数据就成为了一个必须不可不考虑问题。那么我们计划怎么处理合并呢?首先,每台计算节点上的服务器在插入必要数据的同时,更具业务需求将必须要的数据插入到汇总数据库中,而详细信息只保存到对应的计算节点对应的数据库中,应用端直接访问数据库为汇总数据库,但查看某条信息的具体信息时,可以从该条信息中找到具体信息存储的数据,进而从对应的数据库中拿到详细信息。

    决定:

    方案2已经通过了调研,怎实施?实施有多大难度?技术难题在哪?

    其他问题先不说,就谈下技术难点,既然要分布多计算执行,就一定要有一个调度器,而调度器中的难点大家就都清晰吧------心跳监控任务执行状态,通信的稳定性,高效性,准确性,消息队列怎么规划?

  • 相关阅读:
    CodeBlocks 中fopen函数不支持命令 “r”
    【转载】分享一些Qt学习资源,欢迎下载
    【转载】知乎答案----孙志岗----Google 发布了程序员养成指南,国内互联网巨头是否也有类似的指南和课程推荐
    【转载】谷歌公司推荐的程序员必修课(英文教程)
    【转载】张逸--ThoughtWorks(中国)程序员读书雷达
    在windows环境下,为什么要用Notepad++编辑?
    【转载】池建强--趣谈个人建站
    JAVA入门第二季 第一章 类和对象
    CAP理论总结
    分布式通信方式之消息队列之RocketMQ
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/4427379.html
Copyright © 2011-2022 走看看