操作类 持久化分类 说明 交换机持久化 在创建Exchange时设置durable参数参数。channel.exchangeDeclare(EXCHANGENAME, "direct", true); 队列持久化 同样也是设置设置durable参数。持久化的队列会存盘,在服务器重启的时候可以保证不丢失相关信息。channel.queueDeclare(QUEUENAME, true, false, false, null); 消息持久化 即使交换机、队列持久化不会因为重启丢失,但是存储在队列中的消息仍然会丢失。解决的办法就是设置消息的投递模式为2,即代表持久化(JAVA)。理论上,可以将所有的消息都设置为持久化,但是这会严重影响RabbitMQ性能,因为写入到磁盘的速度可比写入到内存的速度慢非常多。因此,在选择是否要持久化消息时,需要在可靠性和吞吐量之间做一个权衡。