`
haoran_10
  • 浏览: 444170 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

消息中间件(3)-ActiveMQ消息持久化

阅读更多

ActiveMQ消息持久化

 

一、不使用持久化

<broker persistent="false">
</broker>
那么activemq 会自动使用内存保存消息,使用 org.apache.activemq.store.memory.MemoryPersistenceAdapter 来保存
 

二、消息数据灾难恢复

推荐使用Master/Slave
 

三、持久化

(1)、Configuring Kaha Persistence,一种格式化消息到文件的引擎,当前ActiveMQ默认的消息持久化引擎。

5.0之前还有一种消息持久化引擎AMQ,但是已经废弃了,推荐使用Kaha。

Kaha Peristence是一个消息持久化到文件的存储解决引擎,也是ActiveMQ项目的一部分。
提供最优性能进行调优的典型消息使用模式,其中包括写/读和丢弃的消息很快被保存。
数据存储在Kaha附加到数据日志,一旦数据不在有用处,日志文件会丢弃那部分数据。
ActiveMQ 5.0 and above:
<broker brokerName="broker" persistent="true" useShutdownHook="false">
   <transportConnectors>
     <transportConnector uri="tcp://localhost:61616"/>
   </transportConnectors>
   <persistenceAdapter>
     <kahaPersistenceAdapter directory="activemq-data" maxDataFileLength="33554432"/>
   </persistenceAdapter>
 </broker>
 
(2)、LevelDB Persistence
这种文件系统是从ActiveMQ5.8之后引进的,它和KahaDB非常相似,也是基于文件的本地数据库储存形式,但是它提供比KahaDB更快的持久性。与KahaDB不同的是,它不是使用传统的B-树来实现对日志数据的提前写,而是使用基于索引的LevelDB。
< persistenceAdapter >
       < levelDBdirectory = "activemq-data" />
</ persistenceAdapter >
 
(3)、使用JDBC持久化到数据库
<persistenceAdapter>
      <jdbcPersistenceAdapter dataSource="#my-ds"/>
</persistenceAdapter>
注:my-ds 数据库要预先定义好
 
 
(4)、 Replicated LevelDB Store 
 
在ActiveMQ 5.9中,复制并且存储。
它使用Apache zookeeper 从一组代理节点中配置(全部相同的配置),选择一个作为主节点并且存储消息,然后同步所有的其他子节点,让其他子节点更新通过复制到主节点的所有更新。
直白点:zookeeper+ActiveMQ集群,防止单节点挂机。
 
<persistenceAdapter>
            <replicatedLevelDB
                    directory="${activemq.data}"
                    replicas="2"
                    bind="tcp://0.0.0.0:61619"
                    zkAddress="127.0.0.1:2181"
                    zkPassword="password"
                    zkPath="/activemq/leveldb-stores"
                    />
</persistenceAdapter>
 
一图胜千言:
 
推荐使用此方式做为生产中配置。
 
 
 
参考的资料:

 

  • 大小: 22.3 KB
分享到:
评论

相关推荐

    消息中间件-- -activemq项目示例

    此外,ActiveMQ还支持事务和持久化,确保消息的可靠传输,即使在服务故障后也能恢复未完成的操作。 在运维方面,ActiveMQ提供了丰富的管理工具,包括Web控制台和API,方便管理员监控和管理消息队列的状态、查看消息...

    apache-activemq-5.8.0-bin.zip

    - **持久化**:ActiveMQ支持将消息持久化到磁盘,即使在服务器重启后也能恢复未处理的消息。 - **网络连接**:支持跨多个节点的集群配置,提高可用性和容错性。 - **Web控制台**:提供了一个基于Web的管理界面,...

    apache-activemq-5.17.3

    ActiveMQ还提供了高可用性、可伸缩性和持久化的特性,以确保消息的可靠传输。 在描述中提到,运行Apache ActiveMQ 5.17.3至少需要Java Development Kit (JDK)版本11或以上。这意味着,为了正确部署和运行此版本的...

    apache-activemq-5.9.0-bin

    4. **持久化**:ActiveMQ提供了多种持久化选项,包括基于文件的KahaDB、LevelDB以及JDBC数据库,确保在服务重启后仍能恢复消息。 5. **高可用性**:通过集群和复制技术,ActiveMQ可以创建高可用的消息服务,确保...

    apache-activemq-5.16.5

    1. **消息持久化**:ActiveMQ支持将消息存储在磁盘上,即使在服务器重启后也能保证消息的完整性,这是基于JMS规范中的持久化队列和主题实现的。 2. **多种协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、MQTT等...

    apache-activemq-5.15.8-bin.zip

    它支持持久化消息,即使在服务器重启后也能保证消息不丢失。同时,ActiveMQ还提供了多种策略来处理消息过载和网络故障。 在实际应用中,ActiveMQ常被用于异步处理、解耦系统组件、负载均衡和容错等场景。例如,Web...

    apache-activemq-5.16.6-bin.zip

    3. **持久化(Persistence)**: ActiveMQ支持消息持久化,即使服务器重启,也不会丢失未处理的消息。 4. **网络连接(Network of Brokers)**: 多个ActiveMQ实例可以通过网络连接形成集群,实现消息的负载均衡和...

    apache-activemq-5.14.3-bin.zip

    6. `data`目录(可能需要用户手动创建):用于存储消息数据和持久化信息,如KahaDB存储或文件系统存储。 7. `examples`目录:包含了一些示例代码,展示如何使用ActiveMQ进行消息传递,对于初学者非常有帮助。 在...

    apache-activemq-5.13.2-bin.tar.gz

    对于生产环境,你可能还需要关注性能监控、安全性配置、持久化策略以及高可用性设置,例如使用集群或复制来提高服务的可靠性。同时,定期备份数据和监控日志也是运维过程中不可或缺的部分。 总之,Apache ActiveMQ...

    apache-activemq-5.15.3-bin.tar.gz

    - **持久化**:ActiveMQ支持消息持久化,即使在服务器重启后,也能保证未被消费的消息不会丢失。 - **多协议支持**:除了JMS外,还支持多种消息协议,适应不同的应用场景。 - **高可用性**:通过集群和复制策略,...

    apache-activemq-5.15.7-bin

    3. **持久化(Persistence)**:ActiveMQ支持消息持久化,即使在服务器重启后,未被消费的消息也能恢复,保证了消息不丢失。 4. **网络连接(Network of Brokers)**:ActiveMQ可以通过网络连接形成多代理集群,实现...

    apache-activemq-5.15.3-bin

    - **配置文件**:主要的配置文件是`conf/activemq.xml`,用户可以在此修改消息传输、持久化、安全等设置。 - **创建队列和主题**:通过管理控制台或者编程方式创建JMS队列和主题。 - **生产者与消费者**:编写应用...

    apache-activemq-5.12.0-bin

    2. **持久化**:ActiveMQ提供了消息的持久化存储,即使在服务器崩溃或网络中断后,也能保证消息不丢失。这依赖于其强大的事务处理能力和存储机制。 3. **集群与高可用性**:通过集群,多个ActiveMQ实例可以协同工作...

    apache-activemq-5.15.7-bin.tar.gz

    - **持久化**:支持文件系统和关系数据库(如MySQL、PostgreSQL)等多种持久化机制,确保消息在系统重启后仍可恢复。 - **多协议支持**:除了JMS,还支持STOMP、AMQP、MQTT和WebSockets等多种协议,方便不同平台和...

    apache-activemq-5.9.0 下载

    6. **持久化**:ActiveMQ支持多种持久化机制,包括本地文件系统、JDBC数据库和LevelDB,确保在服务重启或故障后仍能保留消息。 7. **高可用性**:通过集群和复制策略,ActiveMQ可以实现高可用性和负载均衡。多个...

    apache-activemq-5.15.11-bin.tar.gz

    - **持久化支持**:ActiveMQ可将消息持久化到硬盘,防止消息丢失。 - **多种协议支持**:除了JMS,还支持STOMP、AMQP、OpenWire等多种消息协议,便于与其他系统集成。 - **管理工具**:提供Web控制台,方便监控和...

    apache-activemq-5.15.0-bin

    - **持久化**:消息可以持久化存储,即使服务器重启,也不会丢失。 - **协议支持**:除了JMS外,还支持AMQP、STOMP、MQTT、WS等其他协议,以满足不同场景需求。 - **管理界面**:内置Web管理控制台,用户可以通过...

    apache-activemq-5.3.1-bin.tar.gz

    对于高并发场景,ActiveMQ支持多种策略,如持久化、负载均衡和消息分发,以确保服务的高可用性。 **7. 安全性** ActiveMQ支持基本的身份验证和授权,可以通过Web控制台或配置文件设置。它还支持SSL/TLS加密,确保...

    apache-activemq-5.15.11-bin.rar

    - **持久化**:ActiveMQ支持消息的持久化存储,即使在服务器重启后,也能保证消息不会丢失。 - **网络传输优化**:ActiveMQ使用高效的二进制协议OpenWire,能有效减少网络开销。 - **多协议支持**:除了JMS,还...

    apache-activemq-5.15.1-bin.tar.gz

    6. **持久化**:ActiveMQ提供了多种持久化机制,包括基于文件系统、JDBC数据库和LevelDB,以保证即使在服务器重启后也能恢复消息。 7. **安全特性**:ActiveMQ可以通过用户认证和授权策略来保护消息传递的安全,...

Global site tag (gtag.js) - Google Analytics