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项目的一部分。
(2)、LevelDB Persistence
(4)、 Replicated LevelDB Store
提供最优性能进行调优的典型消息使用模式,其中包括写/读和丢弃的消息很快被保存。
数据存储在Kaha附加到数据日志,一旦数据不在有用处,日志文件会丢弃那部分数据。
ActiveMQ 5.0 and above:
<broker brokerName= "broker" persistent= "true" useShutdownHook= "false" >
<transportConnectors>
</transportConnectors>
<persistenceAdapter>
<kahaPersistenceAdapter directory= "activemq-data" maxDataFileLength= "33554432" />
</persistenceAdapter>
</broker>
|
,这种文件系统是从ActiveMQ5.8之后引进的,它和KahaDB非常相似,也是基于文件的本地数据库储存形式,但是它提供比KahaDB更快的持久性。与KahaDB不同的是,它不是使用传统的B-树来实现对日志数据的提前写,而是使用基于索引的LevelDB。
< persistenceAdapter >
< levelDBdirectory = "activemq-data" />
</ persistenceAdapter >
|
(3)、使用JDBC持久化到数据库
<persistenceAdapter> <jdbcPersistenceAdapter dataSource= "#my-ds" />
</persistenceAdapter> |
注:my-ds 数据库要预先定义好
在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>
|
一图胜千言:
推荐使用此方式做为生产中配置。
参考的资料:
相关推荐
本篇文章记录centos6下ActiveMQ+Zookeeper消息中间件集群-完整部署过程,讲解十分详细,本人线上实操手册。在此分享出来,希望能帮助到有用到的朋友。
003-顺序消费+消息过滤SELECTOR+MessageConsumer+MySql持久化;004-p2p模式+pulish-subscribe发布订阅模式+与spring集成;005-集群部署1;006-集群部署2;007-集群部署3;activemq集群配置文档.pdf;ActiveMQ(中文)...
ActiveMQ 是由 Apache 出品的一款开源消息中间件,...ActiveMQ 实现了 JMS 1.1 并提供了很多附加的特性,比如 JMX 管理、主从管理、消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化、消息队列监控等等
1.什么是 ActiveMQ 2. ActiveMQ 服务器宕机怎么办 3. 丢消息怎么办 4. 持久化消息非常慢 5. 消息的不均匀消费 6. 死信队列 7.
抛开网络服务(Network Services)不说,我们应该知道的是ActiveMQ的三个重要组成部分:连接(Connectors)、消息模式(Topic,Queue)、消息持久化方式。 连接(Connectors) ActiveMQ提供了多种应用协议,如...
一、JMS基本概念 二、activemq介绍及安装 1、消息中间件简介 2、activemq 2.1、activemq简介 2.2、activemq下载 2.3、运行activemq服务 2.4、测试 2.5、监控 3、activemq特性 ...5.3 activemq 持久化机制
java消息中间件入门资料,中间件 非底层操作系统软件,非...activeMQ(支持多语言,实现jms1.1,j2ee1.4规范),RabbitMQ(支持更多语言,基于AMQP规范),kafka(高吞吐量,分布式,分区,O(1)磁盘顺序提供消息持久化)
activemq实现,提供消费方和消费方简单实例代码,分为点对点,发布订阅(发布订阅分为持久化和非持久化,非持久化需要消费方在线才可以收到消息。持久化,消费方如果没有在线,上线之后可以接收到消息)
使用JDBC持久化方式,数据库默认会创建3个表,每个表的作用如下: activemq_msgs:queue和topic的消息都存在这个表中 activemq_acks:存储持久订阅的信息和最后一个持久订阅接收的消息ID activemq_lock:跟kahadb的...
2.3 Redis持久化机制 2.4 Redis高级特性和集群 3. MySQL数据库篇 3.1 MySQL简介和基本操作 3.2 数据库设计范式和优化 3.3 事务和并发控制 3.4 索引和优化技巧 4. 框架篇 4.1 Spring框架概述 4.2 Spring...
包括:独有消费者、消息异步分发、消息优先级、管理持久化消息、消息分组、 消息选择器、消息重递策略、慢消费者处理等 n 十三:杂项技术 包括:监控和管理Broker、集成ActiveMQ和Tomcat、什么时候使用ActiveMQ等 n ...
网盘文件永久链接 1:ActiveMQ入门和消息中间件 2:JMS基本概念和模型 3:JMS的可靠性机制 4:JMS的API结构和开发步骤 ...8:ActiveMQ消息存储持久化 9:ActiveMQ的静态网络链接 10:多线程consumer访问集群 ..........
整理最新的ActiveMQ笔记,消息中间件是解决的问题是能够解耦、能够削峰、能够异步处理,包含整合SpringBoot等、消息存储和持久化、多节点集群的使用、面试遇到和注意的问题等。
图解Redis中的AOF和RDB持久化策略的原理 redis读写分离架构实践 redis哨兵架构及数据丢失问题分析 redis Cluster数据分布算法之Hash slot redis使用常见问题及性能优化思路 redis高可用及高并发实战 缓存击穿...
xml java系统源码 高端技术 :wolf: 分享一些大型互联网架构常用的高端技术 目录 消息队列 ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线...C语言编写、支持网络、可基于内存亦可持久化的日志型、K
Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库...
Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库...
Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库...
和Kafka类似消息中间件开源产品还包括RabbiMQ、ActiveMQ、ZeroMQ 等。 MapReduce是Google公司的核⼼计算模型,它将运⾏于⼤规模集群上的复杂并⾏计算过程⾼度抽象为两个函数:map和reduce。 MapReduce最伟⼤之处在于...
Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库...