消息中间件
kafka 追求高吞吐量,适合产生大数据量的互联网服务的数据收集业务
RocketMQ 可靠性要求很高的金融互联网领域,稳定性高,经历了多次阿里双十一考验
RabbitMQ 性能较好,社区活跃度很高,数据量没这么大,优先选择功能比较完备的RabbitMQ
MQ消息队列(消息中间件)的作用
1.消息通讯
引入消息队列后,把发送邮件,短信不是必须的业务逻辑异步处理
2.应用解耦
引入消息队列
订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。
库存系统:订阅下单的消息,获取下单消息,进行库 *** 作。
就算库存系统出现故障,消息队列也能保证消息的可靠投递,不会导致消息丢失
3.流量削峰
流量削峰一般在秒杀活动中应用广泛
场景:秒杀活动,一般会因为流量过大,导致应用挂掉,为了解决这个问题,一般在应用前端加入消息队列。
作用:
1.可以控制活动人数,超过此一定阀值的订单直接丢弃
2.可以缓解短时间的高流量压垮应用(应用程序按自己的最大处理能力获取订单)
1.用户的请求,服务器收到之后,首先写入消息队列,加入消息队列长度超过最大值,则直接抛弃用户请求或跳转到错误页面.
2.秒杀业务根据消息队列中的请求信息,再做后续处理.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)