MQ相关知识点

1.项目中在什么地方是用了MQ

1.使用mq异步发送优惠券

2.使用mq异步发送短信

3.使用mq异步扣减库存

4.使用mq异步审核贷款金额

实现异步的方式: MQ 和多线程

2.为什么需要使用MQ

1.异步处理(MQ和多线程)

2.实现解耦

3.流量削峰 (实现高并发)

3.MQ实现异步和多线程有什么区别?

1.多线程实现异步可能会消耗我们的CPU资源,可能会影响我们业务线程执行会发生CPU竞争问题

2.MQ实现异步完全是解耦的,适合大型互联网项目

3.小的项目使用多线程实现异步,大项目建议使用MQ

4.MQ如何避免消息堆积问题?

1.长生背景:

生产者投递消息的速率与消费者消费的速率不匹配

2.生产者投递消息的速率>消费者消费的速率

导致消息会堆积在MQ中,没有及时被消费者消费 ,所以产生了消息堆积的问题

3.注意:

rabbitmq 消费者消费消息成功后,消息会被立即删除

kafka和rocketMQ消息被消费后,不会被立即删除

4.解决办法:

        1.提高消费者的消费速率(消费者实现集群)

2.消费者应该批量形式获取消息,减少网络传输的次数

5.MQ如何保证消息不丢失

1.MQ服务器端

将消息进行持久化到磁盘上

2.生产者

消息发布确认(单个确认,批量确认,异步确认)

可以将消息进行缓存到redis或者mysql中,根据日志进行补偿机制

3.消费者

必须确认消息消费成功(消息应答)

rabbitMQ 消息消费成功  会删除消息

rocketMQ消费成功,不会删除消息

6.MQ如何保证消息顺序一致性问题

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值