背景
客户的生产环境采用的是RabbitMQ,数据是充传感器端上送到队列中,但是,目前需要做一个uat环境,数据源采用RabbitMQ中的数据,采用创建多个queue绑定传感器上送topic的方式进行引流;
但是,测试环境没有做高可用,所以,这个地方存在queue中队列消费过慢,甚至服务器宕机不消费的问题,因此需要解决uat中queue消息过多的问题
解决方式
1、创建queue的时候指定 Max length或者是Max length bytes参数
2、增加Policies在Policies中指定queue的指定 Max length或者是Max length bytes参数
PS: 设置该参数后,如果消息没有被消费掉,后续过来的消息会替换之前的消息,最终不超过个数或者是对应的字节数
两个参数可单独设置,无须同时使用
参数释义
x-max-length:用于控制queue的最大长度 ——非负整数;
x-max-length-bytes:用于控制queue中所有消息的最大总字节数 ——非负整数。
queue中参数设置
policy中参数设置