rabbitmq辣眼睛的忙等

用golang做了一个分布式结构的系统, 消息服务器用了rabbitmq。

整体是基于machinery+rabbitmq形式的分布式任务系统

在做压力测试时,发现rabbitmq的cpu使用率飙升

go如何实现并发安全的优先级队列

go的如何实现优先级队列?
优先级别队列是否并发安全?

我的需求场景
实现了一个通信协议,收发消息。发送通道会阻塞。如果拥堵时,要控制拥堵消息的优先顺序。
优先级用Priority加上时间, Priority小优先, 早到优先。