MQ有哪些场景?

消峰,大促销,秒杀,使用mq进行排队达到消峰的目的

异步,

解耦,mq对服务之间进行解耦,同时达到异步的目的

日志收集,对大数据量的处理

MQ的架构?

底层通过队列模式实现消息收发,

mq主要分为四个角色:nameserver,brocer,producer,consumer—

nameserver:主要是存储broker的所有消息,topic和broker的对应关系

broker:最核心模块,主要是负责消息的存储

producer:消息生产者

consumer:消息消费者

主要流程就是首先启动nameserver等待borker,producer,consumer连接

然后启动broker和nameserver保持长连接,定时向nameserver发送心跳包,

包含broker的所有信息以及与topic的所有信息,

producer跟broker建立长连接然后直接发送消息,

consumer获取topic,并且跟broker建立长连接然后开始消费消息

RocketMQ的数据是存储到内存还是硬盘,如果是硬盘那么怎么保证速度?

储存在硬盘,因为它使用了零拷贝技术,并且分区数据顺序存放,还引进了pagechche预读取机制。

发送消息的几种方式:

异步,通过回调方式获取返回值

同步,发送消息需要等待返回值

单向消息,没有返回值

拉取模式有哪两种

push:推,实时性强

pull:拉,定时去关联分区

rocketmq如何保证消息的顺序

分为全局有序:单线程执行,一个topic下的消息都是顺序的,保证一个队列存放消息,一个消费者从这一个队列获取消息

局部有序:只要保证一个队列中的消息有序消费即可,

延迟消息有用吗?

设置消息的过期时间等级,用于vip到期和确认收货

事务消息的使用场景?

比如打车付款,注册赠送积分,可以延迟同步,采用最终一致性。

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

IT_Arfan 微信支付

微信支付

IT_Arfan 支付宝

支付宝

IT_Arfan 贝宝

贝宝