概念
消息队列”是在消息的传输过程中保存消息的容器。
核心
解耦、异步、削峰。
优点
1.单机吞吐量较高 万级
2.时效性 微秒级
3.消息可靠性高 甚至可以做到数据的0丢失
为什么抢票使用消息队列
消息队列提供亿级消息堆积能力,3天的保留时长,消息消费系统可以错峰进行消息处理。
用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面;4
秒杀业务根据消息队列中的请求信息,再做后续处理。
秒杀活动
可以控制活动的人数;
可以缓解短时间内高流量压垮应用;
用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面;
秒杀业务根据消息队列中的请求信息,再做后续处理。
应用场景(异步处理,应用解耦,流量削锋和消息通讯四个场景)
分布式消息服务可应用在多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、手游、视频、物联网、车联网等。
分布式消息服务可以应用但不局限于以下业务场景:
业务解耦
错峰流控
错峰流控
日志同步
缺点
1.系统可用性降低
系统引入的外部依赖越多,越容易挂掉。本来你就是 A 系统调用 BCD 三个系统的接口就好了,人 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进来,万一 MQ 挂了咋整,MQ 一挂,整套系统崩溃的,你不就完了?如何保证消息队列的高可用,可以点击这里查看。
2