没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
5页
1、上千万条消息在mq中积压了⼏个⼩时还没解决: 2、rabbitmq设置过期时间,部分消息丢失: 3、RabbitMQ 上的⼀个 queue 中存放的 message 是否有数量限制? 4、分布式部署: 5、如何确保消息正确地发送⾄RabbitMQ? 6、如何确保消息接收⽅消费了消息? 7、如何避免消息重复投递或重复消费? 8、消息基于什么传输? 9、消息如何分发? 10、消息怎么路由? 11、如何确保消息不丢失? 12、使⽤RabbitMQ有什么好处? 13、消息队列有什么缺点? 14、MQ如何选型? 15、如何保证消息队列⾼可⽤? 16、如何保证消息的顺序性? 17、使⽤RabbitMQ增加rest服务吞吐量。 18、RabbitMQ交换器有哪些类型? 19、RabbitMQ如何保证数据⼀致性? 20、RabbitMQ消费者⾃动扩展数量 21、RabbitMQ结构: 22、rabbitmq队列与消费者的关系?
资源详情
资源评论
资源推荐
1、上千万条消息在mq中积压个时还没解决:
1)先修复consumer的问题,确保其恢复消费速度,然后将现有consumer都停掉;
2)新建个topic,partition是原来的10倍,临时建好原先10倍或者20倍的queue数;
3)然后写个临时的分发数据的consumer程序,这个程序部署上去消费积压的数据;
消费之后做耗时的处,直接均匀轮询写临时建好的10倍数的queue;
4)接着临时征10倍的机来部署consumer,每批consumer消费个临时queue的数据;
5)这种做法相当于是临时将queue资源和consumer资源扩10倍,以正常的10倍速度来消费数据;
6)等快速消费完积压数据之后,得恢复原先部署架构,重新原先的consumer机来消费消息。
总结:
1. 修复并停掉consumer;
2. 新建个topic,partition是原来的10倍,建临时queue,数是原来的10倍或20倍;
3. 写临时consumer程序,临时征10倍的机去消费数据;
4. 消费完成之后,恢复原先consumer;
2、rabbitmq设置过期时间,部分消息丢失:
采取批重导法:将丢失的那批数据查询导到mq。
3、RabbitMQ 上的个 queue 中存放的 message 是否有数限制?
可以认为是限制,因为限制取决于机的内存,但是消息过多会导致处效率的下降。
4、分布式部署:
RabbitMQ法容忍同数据中之间络延迟,但是可以通过3种式实现分布式部署:Federation和Shovel。
5、如何确保消息正确地发送RabbitMQ?
RabbitMQ使发送确认模式,确保消息正确地发送到RabbitMQ。
发送确认模式:将信道设置成confirm模式(发送确认模式),则所有在信道上发布的消息都会被指派个唯的
ID。旦消息被投递到的队后,或者消息被写磁盘后(可持久化的消息),信道会发送个确认给产者(包含消息唯
ID)。如果RabbitMQ发内部错误从导致消息丢失,会发送条nack(not acknowledged,未确认)消息。
发送⽅确认模式是异步的,⽣产者应⽤程序在等待确认的同时,可以继续发送消息。当确认消息到达⽣产者应⽤程序,⽣
产者应⽤程序的回调⽅法就会被触发来处理确认消息。
6、如何确保消息接收消费消息?
接收消息确认机制:消费者接收每条消息后都必须进确认(消息接收和消息确认是两个同操作)。只有消费者确
认消息,RabbitMQ才能安全地把消息从队中删除。
这并没有到超时机制,RabbitMQ仅通过Consumer的连接中断来确认是否需要重新发送消息。也就是说,只要连接
中断,RabbitMQ给Consumer够的时间来处消息。
特殊情况:
1、如果消费者接收到消息,在确认之前断开了连接或取消订阅,RabbitMQ会认为消息没有被分发,然后重新分发给下⼀
个订阅的消费者。(可能存在消息重复消费的隐患,需要根据bizId去重)
2、如果消费者接收到消息却没有确认消息,连接也未断开,则RabbitMQ认为该消费者繁忙,将不会给该消费者分发更多
的消息。
7、如何避免消息重复投递或重复消费?
在消息产时,MQ内部针对每条产者发送的消息成个inner-msg-id,作为去重和幂等的依据(消息投递失败并重
传),避免重复的消息进队;在消息消费时,要求消息体中必须要有个bizId(对于同业务全局唯,如付ID、订单
ID、帖ID等)作为去重和幂等的依据,避免同条消息被重复消费。
8、消息基于么传输?
由于TCP连接的创建和销毁开销较,且并发数受系统资源限制,会造成性能瓶颈。RabbitMQ使信道的式来传输数
海拥:haiyong.site
海拥✘
- 粉丝: 19w+
- 资源: 189
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3