第 8 章 消息持久性和分页
AMQ Broker 7 通过消息日志或 JDBC 存储提供持久性。代理将消息和页面存储到磁盘的方法与 AMQ 6 不同,用于配置消息持久性的配置属性也会改变。
8.1. 消息持久性更改
AMQ Broker 7 使用与 AMQ 6 不同的消息日志类型,它不使用日志索引。
AMQ 6 使用 KahaDB 作为消息存储,它维护了消息日志索引来跟踪日志中每条消息的位置。此索引使代理能够从其日志中拉取分页消息,并将它们放入其缓存中。
默认情况下,AMQ Broker 7 使用内存中的消息日志,代理可从其中分配消息。因此,AMQ Broker 7 不使用消息日志索引。如果代理实例的内存不足,信息会在到达代理时进行分页,但在它们排队之前。这些消息页面文件按顺序存储在磁盘上,顺序与它们到达的顺序相同。然后,当在代理中释放内存时,信息会从页面文件移动到代理中的日志中。由于日志是按顺序读取的,因此无需在日志中保存消息索引。
此外,AMQ Broker 7 也提供基于 JDBC 的消息日志选项,该选项在 AMQ 6 中不可用。
AMQ Broker 7 消息日志支持以下共享文件系统:
- NFSv4
- GFS2
相关信息
- 如需有关默认内存中消息日志的更多信息,请参阅配置 AMQ Broker 中的 基于日志的 Persistence。
- 如需有关基于 JDBC 的新持久性选项的更多信息,请参阅配置 AMQ Broker 中的 JDBC Persistence。