公司内部小程序开发,需求就是推送个人工作量月报到每个雇员的钉钉上。月报说白了就是个 PDF 文件,按照模板生成然后依次调用钉钉接口发送,业务比较简单,最多就是再生成一份部门月报发给主管。预测不会对接多个系统,这种情况下再引用一个 kafka 这样的消息队列是否有些过度设计了?以往工作都是前端,没有接触过这类,学习和后期使用成本会大于自己手动实现个基础功能的队列吗?
队列和定时任务 你这个需求很明显用定时任务来执行更合适,周报月报这种有很强的定时性 你可以说生成 pdf 慢,放到队列,但是就目前你这个需求定时任务 至于失败这种和队列无关,是你的业务相关,你自己加一个字段标记发没发,没发的定时任务扫描出来
TimG
1 天前
@seth19960929 谢谢大佬,您说的我读了很多遍,现在感觉有点开窍了。我把消息队列按照字面意义理解了,认为跟弹夹一样,我提前把不同雇员的“调用钉钉发送任务”压进队列,让他自顾自的清理队列就行,至于失败重发、日志功能等等则借助消息队列自身的功能独立完成,我只管写程序压队列。听了您的解释,消息队列似乎是用来处理耗时操作的,像是高级模块化的线程调度器?它确实应该是工作在更底层的位置,而不是一个简单的 API 调度器。 失败重发我确实没想到要自己实现。看来无论如何也得自己实现一个简单队列,这个省不了了。
TimG
1 天前
@seth19960929 确实查表填入 PDF 才是更耗时和容易出问题的操作,恍然大悟了!前面都在乱说什么真丢死人了哈哈哈,感谢感谢。