1,MQ作用

2,数据流动

image-20240512211943581

3,RocketMQ消息事务

image-20240512211943581

4,可靠传输

5,防止重复消费

6,避免消息积压

7,Kafka性能优化方式

8,RocketMQ发送消息

1,参数

2,异步发送流程:注意底层的netty已经实现异步发送,当前的异步是指在选择消息队列等操作,由线程池异步实现,最终callback仍旧由netty线程调用

-> 通过ExecutorService 创建发送任务,实现异步发送,生产者提交后即返回。

->根据队列选择器MessageQueueSelector选择要发送的队列。这里使用策略模式来实现不同场景下使用不同的队列选择算法。如果需要实现消息局部有序性,需要自行实现对应的MessageQueueSelector

3,同步发送流程:当前线程执行队列选择等操作,并等待发送操作返回,但是由于发送由netty实现,所以最终callbacknetty线程调用。

7,集群管理

1,RocketMQ集群复制

2,Kafka集群复制

8,消息存储

1,RocketMQ 消息存储

image-20240516205429011

2,Kafka消息存储

image-20240516205409170