针对大规模数据集的频繁的定时任务处理。有什么高性能方案吗?

31 天前
 dzdh

比如,某业务表有 2e 数据,每天凌晨整点要批量检查这些数据的某些状态进行对应操作。

直接循环查然后挨个扔异步慢慢处理吗?

有啥现成的解决方案吗?总觉得应该有啥工具是已经实现的。类似场景各场应该用到很多吧。

蹲个高性能解决方案。怎么能尽快的、容错率高的、支持重复执行的、能应对频繁场景的处理这些数据呢?

738 次点击
所在节点    问与答
11 条回复
liprais
31 天前
批量检查不是给自己找不愉快么
dzdh
31 天前
@liprais 现在需求是这样么得办法。 每天凌晨 0 点要检查。不是每天,不是凌晨也会有隔三差五的同步,这个需求是有的- -
linauror
31 天前
扔到延迟队列呢,或者直接就凌晨时查出来放到队列里,然后跑
liprais
31 天前
@dzdh 建议你再好好想想
dzdh
31 天前
@linauror 那就是 limit 挨个查呗。。
min
31 天前
spark
abcfyk
31 天前
解决方案太多了。但是你提出要求比如“尽快的、容错率高的、支持重复执行的、能应对频繁场景” 全是废话, 如果想要别人给出可用的解决方案,那就在需求层面描述清楚比如:
业务表的存储是什么? 读写频率是多少? 配置是什么?有类似主从、集群的配置吗?
凌晨整点要批量检查这些数据的某些状态进行对应操作 的 [操作] 指的是表内数据操作 还是 关联业务表操作? 大概单条操作耗时是多少?
数据分布情况是怎么样的?分批处理的可行性如何?对数据准确性的要求如何?
abcfyk
31 天前
大的解决方案路线分两种,
一种是后端技术栈内实现, 比如 Java+MySQL (假设)。 关注点是 数据库性能、索引设计、程序设计
一种是依赖大数据技术实现, 使用 6L 建议的 Spark/Flink 这种技术实现,关注点就是 数据同步(也可不同步)、数据准确性
Sawyerhou
31 天前
Azkaban ?
dzdh
30 天前
@abcfyk #7

比如一个真实产品:监控宝。

先不管他怎么实现,数据有没有作假。

假设他 10 万客户,每 5 分钟上报一次全国检测点的网络质量。10 秒内必须上报完成。

那每 5 分钟,怎么在 10 秒内处理完所有客户域名在全国不同检测点的检测。任务怎么下发等等。
abcfyk
30 天前
@dzdh #10 那这太简单了,用 flink/spark streaming 统计结果, 批量更新数据库

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1066191

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX