`
haoran_10
  • 浏览: 436426 次
  • 性别: 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
分享到:
评论

相关推荐

    centos6下ActiveMQ+Zookeeper消息中间件集群-完整部署记录(个人精华版)

    本篇文章记录centos6下ActiveMQ+Zookeeper消息中间件集群-完整部署过程,讲解十分详细,本人线上实操手册。在此分享出来,希望能帮助到有用到的朋友。

    消息队列中间件ActiveMQ入门到精通视频教程及资料

    003-顺序消费+消息过滤SELECTOR+MessageConsumer+MySql持久化;004-p2p模式+pulish-subscribe发布订阅模式+与spring集成;005-集群部署1;006-集群部署2;007-集群部署3;activemq集群配置文档.pdf;ActiveMQ(中文)...

    java中间件之activemq

    ActiveMQ 是由 Apache 出品的一款开源消息中间件,...ActiveMQ 实现了 JMS 1.1 并提供了很多附加的特性,比如 JMX 管理、主从管理、消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化、消息队列监控等等

    ActiveMQ消息中间件面试专题1

    1.什么是 ActiveMQ 2. ActiveMQ 服务器宕机怎么办 3. 丢消息怎么办 4. 持久化消息非常慢 5. 消息的不均匀消费 6. 死信队列 7.

    ActiveMQ是Apache软件基金会所研发开源的消息中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信

    抛开网络服务(Network Services)不说,我们应该知道的是ActiveMQ的三个重要组成部分:连接(Connectors)、消息模式(Topic,Queue)、消息持久化方式。 连接(Connectors)  ActiveMQ提供了多种应用协议,如...

    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消息中间件

    java消息中间件入门资料,中间件 非底层操作系统软件,非...activeMQ(支持多语言,实现jms1.1,j2ee1.4规范),RabbitMQ(支持更多语言,基于AMQP规范),kafka(高吞吐量,分布式,分区,O(1)磁盘顺序提供消息持久化)

    消息中间件实例项目

    activemq实现,提供消费方和消费方简单实例代码,分为点对点,发布订阅(发布订阅分为持久化和非持久化,非持久化需要消费方在线才可以收到消息。持久化,消费方如果没有在线,上线之后可以接收到消息)

    java实现的消息中间件之AcitveMQ详解,学习学习

    使用JDBC持久化方式,数据库默认会创建3个表,每个表的作用如下: activemq_msgs:queue和topic的消息都存在这个表中 activemq_acks:存储持久订阅的信息和最后一个持久订阅接收的消息ID activemq_lock:跟kahadb的...

    Java面试八股文.zip

    2.3 Redis持久化机制 2.4 Redis高级特性和集群 3. MySQL数据库篇 3.1 MySQL简介和基本操作 3.2 数据库设计范式和优化 3.3 事务和并发控制 3.4 索引和优化技巧 4. 框架篇 4.1 Spring框架概述 4.2 Spring...

    ActiveMQ.rar

    包括:独有消费者、消息异步分发、消息优先级、管理持久化消息、消息分组、 消息选择器、消息重递策略、慢消费者处理等 n 十三:杂项技术 包括:监控和管理Broker、集成ActiveMQ和Tomcat、什么时候使用ActiveMQ等 n ...

    实战ActiveMQ集群与应用视频教程.zip

    网盘文件永久链接 1:ActiveMQ入门和消息中间件 2:JMS基本概念和模型 3:JMS的可靠性机制 4:JMS的API结构和开发步骤 ...8:ActiveMQ消息存储持久化 9:ActiveMQ的静态网络链接 10:多线程consumer访问集群 ..........

    ActiveMQ.pdf

    整理最新的ActiveMQ笔记,消息中间件是解决的问题是能够解耦、能够削峰、能够异步处理,包含整合SpringBoot等、消息存储和持久化、多节点集群的使用、面试遇到和注意的问题等。

    Java思维导图xmind文件+导出图片

    图解Redis中的AOF和RDB持久化策略的原理 redis读写分离架构实践 redis哨兵架构及数据丢失问题分析 redis Cluster数据分布算法之Hash slot redis使用常见问题及性能优化思路 redis高可用及高并发实战 缓存击穿...

    xmljava系统源码-high-end-technology::angry_face_with_horns:Sharesomeofthehigh-endtechnologiescomm

    xml java系统源码 高端技术 :wolf: 分享一些大型互联网架构常用的高端技术 目录 消息队列 ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线...C语言编写、支持网络、可基于内存亦可持久化的日志型、K

    java开源包3

    Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库...

    java开源包1

    Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库...

    java开源包10

    Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库...

    大数据处理流程.pdf

    和Kafka类似消息中间件开源产品还包括RabbiMQ、ActiveMQ、ZeroMQ 等。 MapReduce是Google公司的核⼼计算模型,它将运⾏于⼤规模集群上的复杂并⾏计算过程⾼度抽象为两个函数:map和reduce。 MapReduce最伟⼤之处在于...

    java开源包11

    Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库...

Global site tag (gtag.js) - Google Analytics