聊聊:消息队列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊:消息队列相关的知识,希望对你有一定的参考价值。
在开发过程中,不是所有的数据都需要实时处理,也不是所有的请求都必须实时反馈结果给用户,所有的处理只要保证最终的结果是一致就OK。此时可以考虑使用消息队列来解决这些问题。
在实际开发中,我们使用消息队列进行异步处理、系统解耦、数据同步、流量控制。
使用场景:
异步处理:使用队列一个主要原因是进行异步处理:比如用户注册成功后,需要发送注册成功的邮件、新用户积分、优惠劵等等。通过异步处理,可以提升主流程响应速度,而非主流程、非重要业务可以异步处理
,这样可以任务聚合然后批量处理。
系统解耦:比如用户成功支付完成订单后,需要通知生产配货系统、发票系统、库存系统、推荐系统、搜索系统等进行业务处理;而未来需要添加/支持哪些业务还不是很清楚的,而这些业务不需要实时处理、不需要强一致性,只需要最终一致性。
数据同步:比如想把mysql变更数据同步到Redis\或者MYSQL同步到Mongodb\或者机房间数据同步
流量消峰:系统瓶颈一般在数据库,比如扣减库存、下单等;此时可以考虑使用队列变更请求暂时放入队列,通过缓存+队列暂存的方式将数据库流量消峰;
以上是关于聊聊:消息队列的主要内容,如果未能解决你的问题,请参考以下文章