(一)短信发送


    短信通常都是由第三方服务商提供的服务,对于其稳定性与可靠度来说,通常也就是打90分吧。对于那些需要发送短信的应用程序来说,通常将其放入队列中去处理,而不是傻傻的等待。


    (二)日志记录


    不是所有的日志记录都需要使用消息队列来处理。通常只有那些同时操作一个日志文件的情况下才会使用消息队列。另外的一种情况是,需要对日志进行同步处理后分析的场景。


    (三)邮件服务


    邮件服务于短信发送类似,对于那些不需要即时回复和响应速度并不特别特别快的第三方应用,使用队列来处理是最大的好处。既能节省资源,又能提高用户体验,还能防止系统崩溃。


    (四)通知服务


    对于给用户发消息这样的业务来说,使用消息队列也是极好的,尽管几十万内的插入语句使用SQL就可以完全搞定。使用通知服务对于那些SQL不是很好的人来说,也是很好的福利。


    另外,对于多应用使用缓存提高查询效率的情景,使用消息队列也是极好的。试想一下,当你更新一个用户后,使用发布/订阅者模式处理缓存,是不是比其它任何模式都要高效呢。


    (五)高并发请求


    是不是又想起了淘宝双11网站瘫痪,12306一票难求,京东图书大促网页打不开,消息队列尤其适用于这种超负载的场景。通过过消息队列,将短时间高并发产生的事务消息存储在消息队列中,从而削平高峰期的并发事务,改善网站系统的性能,这样可以有效地抵御促销活动刚开始就开始大量涌入的订单对系统造成的冲击 。