天天看点

RocketMQ延时消息适用场景使用方法

适用场景

适用于定时向用户发送提醒信息,订单超时自动关闭等

使用方法

RocketMQ延时消息就是生产端发送时,可以为消息指定一个延迟级别的消息属性,指定该条消息在指定时间后才能被消费端收到

public void setDelayTimeLevel(int level) {
    this.putProperty(MessageConst.PROPERTY_DELAY_TIME_LEVEL, String.valueOf(level));
}
           

默认有18个延迟级别,1~18,对应时间如下

1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h

延迟级别是可配的,在broker配置文件中增加一条

messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 90s
           

如上图发送,消息将在90s后投递

继续阅读