需求背景 当需要从monggoDB查询除符合条件的数据,把数据进行统计汇总,展示到前端 处理方式 从简单到难依次的处理方式: 1.直接从monggoDB中拿出来数据,对数据进行处理展示;(适合少批量且不容易修改的数据) 2.分批从monggoDB中拿出来数据,对数据进行处理展示;(适合中批量的数据) 3.分批从monggoDB中拿出来数据,对数据进行清理,组建成具体的sql,插入到新的表中,由于数据是每天实时更新的,所以需要对这个数据清理进行定时任务xxx-job的操作,让每天自动进行数据处理,这里处理时间的掌控,最好是前一天的最后时刻(比如定时任务00:00执行,就拿数据库里面统计的最后时间到前一天最后一秒来进行处理) 4.把这个数据处理的的操作放入到RabbitMQ中,让单线程的数据处理,改成多线程的方式执行 疑问 实际上,我们在第3种处理方式上,可以在具体的数据清理的方法内,加入java自带的多线程处理,但是由于对生产环境的一些配置:比如最大线程数之类的不太清楚,所以就想到了用MQ的方式处理,JAVA自带的多线程处理方式如下面这位SakamotoLz大佬的的文中所述:...