其他分享
首页 > 其他分享> > RocketMQ

RocketMQ

作者:互联网

一.MQ的相关概念

什么是MQ?

为什么要用 MQ?

MQ的选择?

二.RabbitMQ工作原理

Exchange说明:

类型:

三.队列

死信队列:

 

延迟队列:

优先队列:队列者设置为优先级队列,发消息的时候也设置优先级消息。这样才能保证真正的优先   镜像队列:在Rabbit集群中,如何保证队列同步到其他的节点,就使用镜像队列。实现:随便找一个节点添加一个策略policy就可以了。

四.消息可靠性怎么保证?

要保证消息不丢失,需要三方面都进行保证:生产者(发布确认机制,事务机制),消费者(消息应答机制,死信队列),MQ(持久化,集群)


发布确认:生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了。如果超时没有收到消息,或者收到未收到的消息,进行重发或者警报管理员。

事务机制:RabbitMQ 客户端中与事务机制相关的方法有三个


 消息应答:消费者在接收到消息并且处理该消息之后,告诉 rabbitmq 它已经处理了,rabbitmq 可以把该消息删除了。如果没收到ack,消息自动重新入队。


 持久化:需要将队列和消息都进行持久化。

五.如何解决消息重复,消息积压,消息有序性?

消息重复:采用幂等性接口。

消息积压:

消息有序性

.其他小问题

vhost 是什么?起什么作用?

消息基于什么传输?

消息如何分发?

什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?

RabbitMQ的集群模式和集群节点类型?

 

 寄语:年轻人,你的职责是平整土地,而非焦虑时光,你做三四月的事,在七八月自有答案   ---余世存《时间之书》

标签:消费者,队列,RabbitMQ,死信,MQ,消息,RocketMQ
来源: https://www.cnblogs.com/monkey-xuan/p/15865509.html