RockeyMQ的发送方式

官方文档说明 :

https://rocketmq.apache.org/docs/simple-example/
 

1:同步发送,消息可靠,不丢失,一般用来发送重要的短信,邮件等 SYNC

Message message = new Message(JmsConfig.productOrder, "", produce.getId(), JSON.toJSONString(produce).getBytes());

payProduct.getProducer().send(message);

 

 

2:异步发送, 对性能的要求,能支撑更高的并发,回调成功后触发相对应的功能,异步方式发送不会进行重试,总发送次数是1 ASYNC

 

 

 

 

3:单向发送,对可靠性要不不是很高,速度快的场景,比如日志采集,速度最快,没有返回结果,消息可能会丢失  ONEWAY


 

 

* 消息延迟发送:

适用场景:比如用户接单后30分钟没有进行操作,订单进行撤销,在用户接单的时候把订单号和状态码发送到MQ,延迟发送30分钟,然后在根据订单号去判断用户是否有下单,没有的话撤销订单,有的话不做处理

18种时间状态,支持修改,选择的话按对应选择级别就行了 比如 延迟1秒 选 1   延迟5秒选 2

package org.apache.rocketmq.store.config;
private String messageDelayLevel = "1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h";

 

选择级别

message.setDelayTimeLevel(2);

 




原文地址:https://www.cnblogs.com/HuangXingLei/p/12616502.html