码迷,mamicode.com
首页 > 其他好文 > 详细

聊聊:消息队列

时间:2016-09-10 17:51:59      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

在开发过程中,不是所有的数据都需要实时处理,也不是所有的请求都必须实时反馈结果给用户,所有的处理只要保证最终的结果是一致就OK。此时可以考虑使用消息队列来解决这些问题。

在实际开发中,我们使用消息队列进行异步处理、系统解耦、数据同步、流量控制。

使用场景:

异步处理:使用队列一个主要原因是进行异步处理:比如用户注册成功后,需要发送注册成功的邮件、新用户积分、优惠劵等等。通过异步处理,可以提升主流程响应速度,而非主流程、非重要业务可以异步处理

,这样可以任务聚合然后批量处理。

系统解耦:比如用户成功支付完成订单后,需要通知生产配货系统、发票系统、库存系统、推荐系统、搜索系统等进行业务处理;而未来需要添加/支持哪些业务还不是很清楚的,而这些业务不需要实时处理、不需要强一致性,只需要最终一致性。

数据同步:比如想把MYSQL变更数据同步到Redis\或者MYSQL同步到Mongodb\或者机房间数据同步

流量消峰:系统瓶颈一般在数据库,比如扣减库存、下单等;此时可以考虑使用队列变更请求暂时放入队列,通过缓存+队列暂存的方式将数据库流量消峰;

聊聊:消息队列

标签:

原文地址:http://www.cnblogs.com/QYHYY/p/5859804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!