消息队列应用场景对吗??

新手上路,请多包涵

现在项目里有定时任务定时扫描数据库中符合条件的记录,一次可能几千条,然后放循环这几千条数据放到rabbitmq中,再消费掉消费的时会调用来源第三方接口,最后将调用日志记录到日志表。请问这样做有必要吗,去掉消息队列环节直接调用第三方接口,然后数据库记录日志,对数据库影响大吗??对于数据库应该算一个连接吧??

阅读 1.7k
2 个回答

有没必要,你可以考虑: 1. 为什么想加?成本代价是什么? 2. 不加的话,有什么问题? 有没有其它方法能解决?

从表面看, 你担心的是不用的话对数据库的影响,这点可以说基本没有影响。因为你本来就是遍历串行调用第三方。无论用不用队列都是一样的。

如果担心数据丟失,那也可以把选出来的几千条写到文本,再遍历调用,记录结果,失败重试 (举这个例子,只是想说明你的目标可能有多种方案,选你认为对的就行, 比如你搭建消息队列也要考虑持久化和可用性等,方案就复杂了,如果简单能做到那就尽量用简单的)

如果不担心处理到一半崩掉的问题就没必要。如果要求一旦开始一轮就必须全部处理完才能开始下一轮,那么用mq还是有必要的,可以简化很多操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进