美文网首页Springboot整合
为什么发送邮件要使用消息队列而不是多线程

为什么发送邮件要使用消息队列而不是多线程

作者: 垃圾简书_吃枣药丸 | 来源:发表于2018-10-17 21:37 被阅读9次
  1. 什么情况下的异步操作使用消息队列而不是多线程?
    • 消息队列和多线程两者并不冲突,多线程可以作为队列的生产者和消费者。
      使用外部的消息队列时,第一是可以提高应用的稳定性,当程序fail后,已经写入外部消息队列的数据依旧是保存的,如果使用两步commit的队列的话,可以更加提高这个项目。
    • 用线程的话,会占用主服务器资源, 消息队列的话, 可以放到其他机器上运行, 让主服务器尽量多的服务其他请求。我个人认为, 如果用户不急着知道结果的操作, 用消息队列, 否则再考虑用不用线程。
    • 解耦更充分,架构更合理
      多线程是在编程语言层面解决问题
      消息队列是在架构层面解决问题
      我认为架构层面解决问题是“觉悟比较高的方式“,理想情况下应该限制语言层面滥用多线程,能不用就不用
    • 不关心执行结果的都可以放到消息队列,不需要及时到达,放到消息队列中慢慢消化
    • 批量发送邮件时,数据量庞大,如果使用多线程对系统不安全

相关文章

  • 为什么发送邮件要使用消息队列而不是多线程

    什么情况下的异步操作使用消息队列而不是多线程?消息队列和多线程两者并不冲突,多线程可以作为队列的生产者和消费者。使...

  • RocketMQ消息队列还没入门就想放弃

    题外话 什么情况下的异步操作需要使用消息队列而不是多线程? 消息队列和多线程两者并不冲突,多线程可以作为队列的生产...

  • laravel 队列的使用

    laravel version: 5.4.* 为什么有使用队列? 使用队列可以将某些耗时任务(比如发送邮件)延迟执...

  • 消息队列

    消息队列 为什么使用消息队列 使用消息队列的主要场景:解耦、异步、削峰。 解耦 适合场景:系统的数据需要发送给多个...

  • skpsmtpmessage串行发送邮件

    skpsmtpmessage不支持并行发送邮件,如果你有多个邮件需要发送,建议使用串行队列。 Sending Ma...

  • 为什么使用消息队列

    为什么使用消息队列 消息队列的使用场景比较核心的有 3 个:解耦、异步、削峰。 解耦 A 系统发送数据到 BCD ...

  • 基于RabbitMQ的消息总线架构设计

    初衷 为什么要设计消息总线(对消息队列进行二次封装),而不是让各业务系统直接使用RabbitMQ、Kafka、Ro...

  • 使用消息队列会增加项目的复杂度

    使用消息队列会增加项目的复杂度。我的一个Side project是一个邮件相关的项目,主要功能是接收和发送邮件,是...

  • 【Android 基础】Handler 使用

    Handler 使用 Handler (发送与接收消息)Looper (轮循)MessengeQueue 消息队列...

  • SMTP邮件各类服务

    一、发送普通邮件 固定格式: 二、发送HTML邮件 如果我们要发送HTML邮件,而不是普通的纯文本文件怎么办?方法...

网友评论

    本文标题:为什么发送邮件要使用消息队列而不是多线程

    本文链接:https://www.haomeiwen.com/subject/rxhdzftx.html