msgpack代替json防止丢失类型

开发了一个通信协议, 协议对数据类型比较敏感, 根据不同数据数据类型使用不同格式。golang的数据类型能够满足需求。

然而,将协议转为http方式时,如果传入json,会发现数据类型不符合预期

例如,本来是应该int结果是float64; 本来应该是[]byte,结果是string

rabbitmq辣眼睛的忙等

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

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

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

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

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

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