适用場景
适用于定時向使用者發送提醒資訊,訂單逾時自動關閉等
使用方法
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後投遞