- 消息队列的两种模式
1.1 点对点的模式
1.2 订阅者和发布者的模式
2.消息队列的中的问题:
topic和queue的关系
一个topic(话题消息)中有多个queue(队列) 一个队列中有多个messages
broker 相当于网络中的交换机
3.消息队列解决的问题
1. 一个message 被消费者消费会不会重复消费
曰:不会重复消费,一个消费者接收了一个message,这个message在消息队列中就会被锁定
一段时间这个消费者没有处理的话,message在消息队列中自动被解锁,另外一个消费者
会接着消费。消费者的本质就是一个进程。
2.MQ多采用put-get-delete模式,即,仅当确认message被完成处理之后,才从MQ中移除message
3.异步通信:很多场景下,不会立即处理消息,这是,可以在MQ中存储message,并在某一时刻再进行处理
4.推拉介绍:
①Push方式:由消息中间件主动地将消息推送给消费者;
②Pull方式:由消费者主动向消息中间件拉取消息
5.集中消息对列的对比
1.rabbitmq
不做评论
2.activemq
不做评论
3.kafka
主要用于日志的收集,不支持事务,Pull的模式来处理消息消费,追求高吞吐量。(拉的模型)
4.redis
很少用于消息队列,主要用户session,共享,基本的数据存储
时间: 2024-10-25 09:33:45