RabbitMQ 优先级队列(消息优先级) --- 2022-0

2022-05-01  本文已影响0人  一位先生_

优先级队列,顾名思义,优先级高的消息具备优先被消费的特权。

RabbitMQ优先级队列注意点:

RabbitMQ优先级队列使用步骤

  1. 设置队列最大优先级
  2. 设置消息优先级

设置队列最大优先级

在声明队列的时候,通过队列属性(x-max-priority)设置队列的最大优先级,优先级的最大值为255,官方建议最好在1到10之间。
Golang设置方式:

    // 队列属性
    props := make(map[string]interface{})
    // 设置队列最大优先级
    props["x-max-priority"] = 10

// 声明队列
    q, err := ch.QueueDeclare(
        "tizi365.hello", // 队列名
        true,   // 队列持久化
        false,   // delete when unused
        false,   // exclusive
        false,   // no-wait
        props,     // 设置队列属性
    )

提示:其他语言设置方式类似。

设置消息优先级

Golang设置方式:

err = ch.Publish(
            "tizi365",     // 交换机
            "", // 路由参数
            false,
            false,
            amqp.Publishing{
                Priority:5, // 设置消息优先级
                DeliveryMode:2,  // 消息投递模式,1代表非持久化,2代表持久化,
                ContentType: "text/plain",
                Body:        []byte(body),
            })
上一篇下一篇

猜你喜欢

热点阅读