为了解决阻塞可以采用数据持久化
交换机持久化-可以在配置的时候配置durable
队列持久化-mq在设置时默认就是持久化,spring默认也是持久化
消息持久化,不是默认,需要在发送时对delivery_mode改为2(持久),默认是1(临时)
再次重启后,临时消息就不在了,持久的不会丢失
发送消息-循环发送1百万条消息
查看结果-消息在内存中展示,每5s刷新一次
可以看到消息发送很快达到60k/s峰值
纯内存存储消息,过段时间就会出现配置out消息处理速度降到到0,短暂的暂停
总共耗时30s,每秒3万
持久化消息发送
没有做配置out,在内存和磁盘中都会处理消息
不会出现阻塞和卡死的情况
慢了几秒
lazy queue
因为上述方法性能没有特别好
直接保存到磁盘
如何配置呢
创建队列的时候就选择
java代码怎么实现
指定健值对增加lazy
总结