通过多线程不是也可以实现异步吗?为什么要使用消息队列呢?
消息队列和多线程两者并不冲突,多线程可以作为队列的生产者和消费者。使用外部的消息队列时,第一是可以提高应用的稳定性,当程序fail后,写入外部消息队列的数据依旧是保存的,如果使用两步commit的队列的话,可以更加提高这个项目。
用线程的话,会占用主服务器资源, 消息队列的话, 可以放到其他机器上运行, 让主服务器尽量多的服务其他请求。我个人认为, 如果用户不急着知道结果的操作, 用消息队列, 否则再考虑用不用线程。
发邮件 推送app消息 延时通知
单一请求接口
解耦更充分,架构更合理多线程是在编程语言层面解决问题消息队列是在架构层面解决问题我认为架构层面解决问题是“觉悟比较高的方式“,理想情况下应该限制语言层面滥用多线程,能不用就不用
不关心执行结果的都可以放到消息队列
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(6)
消息队列和多线程两者并不冲突,多线程可以作为队列的生产者和消费者。
使用外部的消息队列时,第一是可以提高应用的稳定性,当程序fail后,写入外部消息队列的数据依旧是保存的,如果使用两步commit的队列的话,可以更加提高这个项目。
用线程的话,会占用主服务器资源, 消息队列的话, 可以放到其他机器上运行, 让主服务器尽量多的服务其他请求。我个人认为, 如果用户不急着知道结果的操作, 用消息队列, 否则再考虑用不用线程。
发邮件 推送app消息 延时通知
单一请求接口
解耦更充分,架构更合理
多线程是在编程语言层面解决问题
消息队列是在架构层面解决问题
我认为架构层面解决问题是“觉悟比较高的方式“,理想情况下应该限制语言层面滥用多线程,能不用就不用
不关心执行结果的都可以放到消息队列