0.消费者模式(广播模式和负载均衡模式)
设置@RocketMQMessageListener 的 messageModel 属性
广播模式
广播模式是每个消费者都会消费信息
messageModel = MessageModel.BROADCASTING
负载均衡模式(默认)
是每一个消息只会被某一个消费者消费一次
messageModel = MessageModel.CLUSTERING
-------------------------------------------------------
设置@RocketMQMessageListener 的 consumeModel 属性
多线程并发接收(默认)
consumeModel = ConsumeMode.CONCURRENTLY
单线程顺序接收(接收顺序消息)
consumeModel = ConsumeMode.ORDERLY
1.发送同步消息
发送同步消息是指producer向broker发送消息,执行API时同步等待,知道broker服务器返回发送结果
相对异步消息,会阻塞线程,性能相对差,但可靠性高
rocketMQTemplate.syncSend("topic","同步消息体");
2.发送异步消息
增加成功,失败回调
rocketMQTemplate.asyncSend("topic","异步消息体",new SendCallback(){
@Override
public void onSuccess(SendResult sendResult){
sout("发送成功");
}
@Override
public void onException(Throwable throwable){
sout("发送失败");
}
});
3.发送单向消息
指producer向broker发送消息,执行API时直接返回,不等待broker服务器的结果
rocketMQTemplate.sendOneWay("topic","消息体");
4.顺序消息
使用第三个参数hashkey,同一组消息使用相同hashkey,可实现顺序,同时需要修改消费者为单线程顺序接收
syncSendOrderly 发送同步顺序消息
asyncSendOrderly 发送异步顺序消息
sendOneWayOrderly 发送单向顺序消息
5.延时队列
rocketMQTemplate.syncSend("topic","消息",3000,1);
3000:3秒钟超时时间
1:level,具体为 1s,5s,10s ... 2h