天天看點

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後投遞

繼續閱讀