搜索

2.2. 消息持久性

download PDF

AMQ Broker 会保留消息数据以确保信息永不会丢失,即使代理失败或意外关闭也是如此。AMQ 代理提供两种消息持久性选项:基于日志的持久性和数据库持久性。

基于日志的持久性

默认方法,此选项将消息数据写入文件系统中存储的日志文件。最初,每个日志文件都使用固定大小自动创建,并填充空数据。当客户端执行各种代理操作时,记录将附加到日志中。当其中一个日志文件已满时,代理将移动到下一个日志文件。

基于日志的持久性支持事务操作,包括本地和 XA 事务。

基于日志的持久性需要文件系统的 IO 接口。AMQ Broker 支持以下内容:

Linux 异步 IO(AIO)
AIO 通常提供最佳的性能。确保您的网络文件系统在 Red Hat AMQ 7 支持的配置 中被列为支持。
Java NIO
Java NIO 提供了良好的性能,它可以在任何具有 Java 6 或更高版本运行时的平台中运行。

数据库持久性

此选项通过使用 Java 数据库连接(JDBC)将消息和绑定数据存储在数据库中。如果您的环境中已有可靠和高性能的数据库平台,或者公司政策强制使用数据库,则此选项是一个不错的选择。

代理 JDBC 持久存储使用标准 JDBC 驱动程序来创建 JDBC 连接,它将消息和绑定数据存储在数据库表中。数据库表中的数据采用与基于日志的持久性相同的编码方式进行编码。这意味着,如果直接使用 SQL 访问数据库中存储的消息,则不会被人读取。

要使用数据库持久性,您必须使用受支持的数据库平台。要查看当前支持的数据库平台,请参阅 Red Hat AMQ 7 支持的配置

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.