V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vchat
V2EX  ›  程序员

请教一个分布式问题, 具体请看正文描述,非常感谢!

  •  
  •   vchat · 2020-08-07 23:00:48 +08:00 · 1605 次点击
    这是一个创建于 1568 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一批数据在数据库中,分 128 表按小时增量存储,现在有多个机器 每一小时处理一次,这些机器是消费者角色, 每个小时生产数据后,及时消费处理这些数据,待这个小时的数据全部处理完成后 汇总这一个小时的数据,这里面涉及多个分布式协调问题, 请教一个比较好的解决方案?

    注意点

    • 这一个小时产生的数据消费者不可以重复处理
    • 这一个小时产生的数据消费者必须处理完,如果其中一台机器处理失败或者自己挂掉那么应该释放资源交给其他机器处理
    • 这个方案中需要能够知道全部机器都已经处理完这个小时的数据

    谢谢大家啦!麻烦大家推荐案例或者书籍或者大致思路, 不甚感激!!

    4 条回复    2020-08-08 00:28:46 +08:00
    billlee
        1
    billlee  
       2020-08-08 00:02:01 +08:00
    这不是典型的 map reduce 问题吗?直接用 spark 得了
    vchat
        2
    vchat  
    OP
       2020-08-08 00:08:30 +08:00
    @billlee 整体上是这样 但是这个一是没有这么大的数据体量 用 spark 太牛刀了 二是 需要在一个 java 语言的系统中处理
    lhx2008
        3
    lhx2008  
       2020-08-08 00:24:54 +08:00
    这种就是流式计算之类的,不要自己写轮子了,也没有必要用 sql 分表什么的。。
    billlee
        4
    billlee  
       2020-08-08 00:28:46 +08:00
    @vchat #2 128 分片我觉得已经不算很小了吧,你也提到了很多需要注意的问题,这些都自己解决不就是重新发明 spark 吗? Spark 也是 jvm 生态的啊,可以用 java 开发应用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1132 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:39 · PVG 02:39 · LAX 10:39 · JFK 13:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.