首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生产者/消费者队列模式中更快的生产者

生产者/消费者队列模式中更快的生产者
EN

Stack Overflow用户
提问于 2018-04-30 17:36:14
回答 1查看 164关注 0票数 0

我们有一个MySQL表,每天收到大约500万条记录。

每个记录都需要一点时间来处理与其相关的一些元数据。因此,我们有一个“生产者”进程,它将每个记录ID发送到消息队列(SQS)。

然后,我们有50个“消费者”,它们将提取每个ID并执行必要的处理任务。

这种模式效果很好。然而,数据量继续增长。我们的单个生产者不再能够跟上插入到表中的数据量。

我知道,我们可以增加更多的消费者,以加快处理。但是,在不发生ID冲突的情况下,加速生产者的好策略是什么呢?

更新

以下是表的结构:

代码语言:javascript
复制
id  int(10) AUTO_INCREMENT
name varchar(255)   
is_processed tinyint(1)
is_queued   tinyint(1)
created_at  timestamp
updated_at  timestamp
meta_data   text

我希望有多个生产者运行,但不知道如何避免并发问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-01 17:27:01

最后,我使用了这样的方法:Best practices for multithreaded processing of database records --这为多个消费者分发了一组记录以供选择。它比使用队列处理单个记录要快得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50105504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档