消息队列(MQ)

一、作用

1、解耦(订单支付成功,减库存,加积分...)

2、异步处理,提高吞吐量

3、流量削峰

4、延迟处理(限时订单)

5、持久化

......

二、Rabbit

1、工作模式

  ①、简单模式 :一个生产者对应一个消费者

  ②、工作模式:一个生产者对应多个消费者

  ③、订阅模式:通过broker服务器发送信息到交换机,交换机在进行分发

  ④、路由模式:例如信息的分发,公司有多个职位,领导跟员工的权限肯定不一样,这时就可以使用路由模式

  ⑤、主题模式:相对路由的精准匹配,主题模式有点像模糊查询

  ⑥、RPC模式:客户端请求服务端,服务端处理完数据再返回给客户端

2、使用rabbit产生的问题

  1、如何保证消息的可靠性?

    ①、生产者丢失消息

      1.Transaction模式

      2.confirm机制

    ②、消费者丢失信息

      ACK确认机制

    ③、如何避免重复消费?

      幂等性

  2、消息堆积问题的解决方案?

    ①、队列上绑定多个消费者,提高消费速度

    ②、使用惰性队列,可以在mq中保存更多消息

三、Rocket

四、Kafka

五、总结

 

posted @   ki1616  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示