2.2. 消息持久性


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

基于日志的持久性

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

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

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

Linux Asynchronous IO(AIO)

AIO 通常提供最佳性能,但需要以下内容:

Java NIO
Java NIO 提供良好的性能,可在带有 Java 6 或更新的运行时的任何平台上运行。

数据库持久性

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

代理 JDBC 持久性存储使用标准 JDBC 驱动程序创建 JDBC 连接,在数据库表中存储消息和绑定数据。数据库表中的数据使用与基于日志的持久性相同的编码。这意味着,如果直接使用 SQL 访问,存储在数据库中的消息不可读。

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.