java - 消息队列处理,每条消息都有长时间运行的任务
问题描述
我们的项目中有一个要求,其中有要执行的长时间运行的任务列表。我们已将此任务列表添加到消息队列 (SQS)。
现在,一旦我们开始从 SQS 轮询消息,每个消息(任务)都涉及更新庞大的数据库记录列表,我们可以说这些庞大的数据库更新行是特定于轮询消息的。
给出了图形表示
M1
/ | \
R1 R2 R3.....
这里 M1 是轮询的消息,其中 R1,R2,R3.... 是要更新的数据库行的列表。
现在的问题是如何处理给定消息的这个庞大的数据库行更新列表。我们是否必须 1)创建 ExecutorService(我们使用 Java 作为后端),创建多个线程来读取记录列表并将它们再次更新回数据库,或者 2)只需将行更新作为单独的消息推送回消息队列.
在这两种方法中,哪种方法是首选的,哪种方法是处理此问题的优雅可扩展解决方案
解决方案
推荐阅读
- flood-fill - csv文件的填充算法
- javascript - Svelte TS App.svelte 不是模块 ts(2306)
- postman - 在邮递员中触发气流
- flutter - 自定义广告外观和感觉 admob flutter
- javascript - CertStream Javascript 给出错误“未捕获的 ReferenceError:未定义要求”
- python - 过时的参考异常硒
- ios - 使用 iOS 15 更改 fullScreenCover 上的状态栏文本颜色
- python - 收到此错误继承结构的错误或警告?
- python - XGBoost 分类器:eval_metric 意外预测。形状
- node.js - firebase 云消息通知有时会发送带有图像的通知,有时不会