KahaDB持久化性能

kahadb详解 详细介绍了kahadb的原理,以及一些需要注意事项,限于作者水平,如有错误请指正,谢谢! 立即下载

  翻译自: http://fusesource.com/docs/broker/5.4/tuning/PersTuning-SerialToDisk.html

     KahaDB message store:KahaDB 是ActiveMQ Broker 为了高性能而推荐使用的消息存储机制。KahaDB支持多种性能选项供你进行调整,以获得最优性能。

Normal dispatching through a persistent broker(持久化Broker常规分发):Figure2.1 持久化Broker的常规分发步骤总览

    persist_02

       从Producer接收消息后,Broker会按照如下的几个步骤分发消息给消费者:

  1. Broker把消息存到Message Store中,如果enableJournalDiskSyncs为true,消息会在borker继续处理之前存储到磁盘上。
  2. 现在Broker发送消息给所有感兴趣的consumers,(但不需要等待Consumer的确认).Topics是立即发送,Queue则是由Broker增加消息到一个目标游标(Cursor)
  3. Broker给与Producer一个签收反馈。
Concurrent store and dispatch:为了提高Broker的性能,你可以设置concurrent store and dispatch选项,允许存储消息和发送消息给消费者同时进行。

Figure 2.2图表展示了消息存储和分发的并行操作。(原文是2.1,个人感觉有错误)

Figure 2.2. Concurrent Store and Dispatch

 

 

persist_03

从Producer接收消息后,Broker会按照如下的几个步骤分发消息给消费者:

  1. Broker把消息存到Message Store中,同时,发送消息给所有感兴趣的消费者(consumer),发送完毕后,Broker会给与Producer一个签收反馈,而这个反馈不需要等待消费者的确认或者消息是否已经序列化到磁盘上。
  2. 一收到所有的消费者反馈后,Broker就把消息从消息存储中移除。consumer的反馈通常会比消息存到到磁盘上快,这就意味着消息存储到磁盘上的步骤会被优化掉。这是因为消息会在存储到磁盘之前就从消息存储中被移除掉了。
Configuring concurrent store and dispatch:concurrent store and dispatch 的特性在Queue和Topic分别由concurrentStoreAndDispatchQueues 和concurrentStoreAndDispatchTopics 进行设置。Queue默认是设置为True,但是Topic则是false,如果需要设置为true,需要参照如下,配置Broker中kahaDB项:
 
< broker  brokerName ="broker"  persistent ="true"  useShutdownHook ="false" >   ...    < persistenceAdapter >      < kahaDB  directory ="activemq-data"             journalMaxFileLength ="32mb"             concurrentStoreAndDispatchQueues ="true"             concurrentStoreAndDispatchTopics ="true"              />    </ persistenceAdapter > </ broker >
kahadb-5.7.0-API文档-中文版.zip 赠送jar包:kahadb-5.7.0.jar; 赠送原API文档:kahadb-5.7.0-javadoc.jar; 赠送源代码:kahadb-5.7.0-sources.jar; 包含翻译后的API文档:kahadb-5.7.0-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:org.apache.activemq,artifactId:kahadb,version:5.7.0 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 立即下载

相关推荐

kahadb-5.7.0.jar中文文档.zip

# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

activemq--可持久化机制之KahaDB

KahaDB KahaDB是一个基于文件的持久性数据库,从5.4版本开始默认使用,类似于redis的AOF 具有更好的快速持久性 配置 查看 activemq.xml 在activemq安装路径下,activemq/data/hahadb,可以看到db文件 KahaDB存储原理 KahaDB目前是默认的存储方式,可用于任何场景,提高了性能和恢复能力. 消息存储使用一个事务日志和一个索引来存储他所有的地址. KahaDB数据保存目录有4类文件加1个lock文件。 db-1.log,db.dat.

return 1648

AP发票批量付款程序(WEB ADI)

CREATE OR REPLACE PACKAGE MEW_AP_BATCH_PAYMENTS_PKG IS   PROCEDURE MAIN(P_BATCH_ID          NUMBER                 ,P_ORG_ID            NUMBER                 ,P_BANK_ACCOUNT_NAME VARCHAR2

储藏室 5050

Activemq存储KahaDb详解

kahaDB是一个基于文件,支持事务的、可靠,高性能,可扩展的消息存储器

demon7552003的小本本 2675

【3D目标检测】激光雷达和相机联合标定(一)——ROS同步解包

激光雷达和相机联合标定(一)——ROS同步解包

qq_44703886的博客 4233

最终篇——SWAT模型的建立

同理,Soil Data也是同样的方法导入,在Soil Database Options的选项中,选择UserSiol,用同样的方法导入土壤类型,进行重分类。打开窗口后,只定义HRU Thresholdes,其余两个不用设置,设定各数据单元的计算率,这里的10%的意思是计算精度,即分成级HRU计算单元太小,小于平均计算单元的10%,我们就不对这HRU单元进行计算(也就是说太破碎的计算单元不进行计算),若选择0%意味着全部进行计算,需要耗费大量的内存和时间,对计算机要求较高,不建议。

m0_72556434的博客 5620

KahaDB简介

ActiveMQ 5.3以后,出现了KahaDB。她是一个基于文件支持事务的消息存储器,是一个可靠,高性能,可扩展的消息存储器。 她的设计初衷就是使用简单并尽可能的快。KahaDB的索引使用一个transaction log,并且所有的destination只使用一个index,有人测试表明:如果用于生产环境,支持1万个active connection,每个connection...

weixin_30596735的博客 345

【传感器标定(三):激光雷达标定原理与实现详解】

本文系统介绍了激光雷达标定的基本原理与方法。主要内容包括:激光雷达标定的分类(内参标定和外参标定)、坐标系定义和刚体变换数学基础;详细阐述了测距误差和光束方向两种内参标定方法;重点分析了基于目标(平面标定板、三维标定物)和基于运动(手眼标定、点云配准)的外参标定方法;介绍了多传感器联合标定技术及非线性优化、鲁棒标定等实现方法;最后提出了定量和定性两种标定评估体系。为激光雷达在自动驾驶等领域的精确应用提供了系统的标定技术指导。

weixin_47429781的博客 3786

KahaDB

1. KahaDB消息存储     这是一种基于文件的消息存储,并且联合Journal事务,可稳定存储消息并且恢复消息。KahaDB消息存储使 用事务Log作为它的索引,并且对所有的Destination仅仅使用一个索引文件,该索引文件是事务日志文件组中 消息ID的索引。 2. KahaDB消息存储原理     KahaDB消息存储联合使用快速的事务处理:Journal以及数据日志文件...

hqmln的博客 706

别再花钱买商业软件了!这4款免费DIC工具,从散斑生成到应变分析全搞定

本文介绍了4款免费开源的DIC(数字图像相关技术)工具,涵盖从散斑生成到应变分析的全流程,帮助用户零成本构建专业级DIC工作流。这些工具在精度、算法透明度和生态整合方面具有优势,适用于材料力学和实验力学研究,可替代昂贵的商业软件。

weixin_42525369的博客 167

ANSYS Fluent DPM实战:从单点到锥形注入的粒子模拟全流程解析

本文深度解析了ANSYS Fluent中离散相模型(DPM)的粒子注入(Injection)设置全流程。从单点注入到锥形喷雾,详细阐述了不同注入类型的物理本质、参数逻辑与适用场景,并提供了粒径分布、湍流扩散等高级参数设置技巧与实战避坑指南,帮助工程师精准模拟喷雾、粉尘等粒子运动行为。

weixin_29276847的博客 652

ActiveMQ消息存储和持久化(kahaDB,JDBC,LevelDB)

ActiveMQ 持久化的基本介绍 持久化就是高可用的机制,即使服务器宕机了,消息也不会丢失的机制。 为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制。 ActiveMQ的消息持久化机制有AMQ,KahaDB,JDBC和LevelDB,无论使用哪种持久化方式,消息的存储逻辑都是一致的。 在发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件、内...

方亚军的博客 2390

C# + NAudio:构建支持实时音频处理的语音聊天应用(含回声消除)

本文介绍了如何利用C#和NAudio库开发实时语音聊天应用,重点实现回声消除功能。首先概述了NAudio库在音频处理中的作用,包括音频录制、播放和实时处理能力。然后详细讲解了构建基础语音聊天应用的过程,包括麦克风录制和扬声器播放的实现。接着深入探讨了回声消除的原理和实现方法,提出通过比较麦克风输入和扬声器输出的音频信号来消除回声,并给出了核心代码示例。最后,文章还讨论了性能优化方向,如多线程处理和网络传输扩展。该方案为开发高质量实时语音应用提供了实用参考。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1009

ActoveMQ 消息存储持久化 kahaDB、JDBC、内存存储

目录 KahaDB 消息持久化存储方式 JDBC 消息持久化存储方式 Memory 消息持久化方式 1、ActiveMQ 消息存储方式主要有如下几种(官网地址:http://activemq.apache.org/persistence.html): 1)AMQ 消息存储-基于文件的存储方式,是低版本的默认消息存储方式(本文不做介绍) 2)kahaDB 消息存储-提供了容量的提升和恢...

蚩尤后裔-汪茂雄 893

iOS远程真机之ios-minicap安装使用完全指南

minicap 是开源项目 STF 中的高速截图工具。STF利用此工具不断的传输图片信息并在web端绘制实现 以前只有Android版本,最近有新的ios版本,现在就安装过程中遇到的一些问题进行分享(ps:感谢sorccu 在issue里面给我的指点) 首先上地址:https://github.com/openstf/ios-minicap 你可以git clone或者直接下载zip包。

甫式人生 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

avtiveMQ系列-activeMQ持久化

引言 ActiveMQ在不提供持久化的情况下,数据保存在内存中,一旦应用崩溃或者重启之后,数据都将会丢失,这显然在大部分情况下是我们所不希望的。对此ActiveMQ提供了两种持久化方式以供选择。 一、kahaDB kahaDB是一个基于文件,支持事务的、可靠,高性能,可扩展的消息存储器,目前是activeMQ默认的持久化方式,配置也十分简单 <persistenceAdapter> &...

4993

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ActiveMQ--可持久化(对持久化几种方式的总结)

消息的持久化 将MQ 收到的消息存储到文件、硬盘、数据库 等、 则叫MQ 的持久化,这样即使服务器宕机,消息在本地还是有,仍就可以访问到。 官网 : http://activemq.apache.org/persistence 之前介绍过保证消息的可靠性的四个因素:1.消息的持久化 2.事务 3.签收 4.集群高可用 ActiveMQ支持的消息持久化机制:AMQ、LevelDB、kahaD...

sout 766

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

7 ActiveMQ的消息存储以及持久化

ActiveMQ的消息存储以及持久化

linjun20的博客 316

Activemq持久化之kahadb特性

介绍数据的持久化是很多系统都会涉及到的一个问题,尤其是redis,activemq这些数据主要是存储在内存中的。既然存在内存中,就会面临宕机时数据丢失的风险。这一问题的解决方案就是通过某种方式将数据写到磁盘上,也就是所谓的持久化。 activemq提供了三种持久化方式,分别基于jdbc, kahadb和leveldb. 目前官方最推荐的是基于kahadb的持久化。 jdbc是activ...

davidsiga201501的博客 425

ActiveMQ认识和深入(六),持久化

ActiveMQ 消息存储和持久化 消息存储和持久化概述 为了避免意外宕机以后丢失消息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制。 ActiveMQ 的消息持久化机制有JDBC、AMQ、KahaDB和LevelDB,无论使用哪种持久化方式,消息的存储逻辑都是一致的。 就是在发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件,内存数据库或者远程数据库等再试图将消息发送给接收者,成功则将消息从存储中删除,失败则继续尝试发送。 消息中心启动以后首先要检查指定的存放位置,如果有未

Crazy_Cw的博客 860

ActiveMQ学习六-消息存储持久化

目录 1 消息存储机制 2 消息存储方式 2.1 KahaDB消息存储 2.2 AMQ Message Store 2.3 JDBC持久化消息 2.4 memory message store 1 消息存储机制 ActiveMQ不仅支持persistent【持久的】和non-persistent【非持久的】两种方式,还支持消息的recovery【恢复】方式。 Queue的存储是很简单的,就是一个FIFO的Queue。 对于持久化订阅主题,每一个消费者将获得一个消息的复制。 Active.

qq_35930102的博客 528

ActiveMQ的消息存储和持久化

目录 1.介绍 2.有哪些 3.kahaDB消息存储 4.JDBC消息存储 5.JDBC Message Store with ActiveMQ Journal 6.总结 1.介绍 此处持久化和之前的持久化的区别 MQ高可用:事务、可持久、签收,是属于MQ自身特性,自带的。这里的持久化是外力,是外部插件。之前讲的持久化是MQ的外在表现,现在讲的的持久是是底层实现。 是什么 官网文档:http://activemq.apache.org/persistence 持久化..

可小辉的博客 507

ActiveMQ(十六)--ActiveMQ消息存储持久化-2-(KahaDB Message Store)

概述 KahaDB是目前默认的存储方式,可用于任何场景,提高了性能和恢复能力。消息存储使用一个事务日志和仅仅用一个索引文件来存储它所有的地址。 KahaDB是一个专门针对消息持久化的解决方案,它对典型的消息使用模式进行了优化。在KahaDB中,数据被追加到data logs中。当不再需要log文件中的数据的时候,log文件会被丢弃。 KahaDB的基本配置例子 &lt;persisten...

csdn_kenneth的博客 767

JMS学习七(ActiveMQ消息持久化)

上一篇文章中消息的持久化订阅有个前提条件就是消息的持久化,也就是将发送的消息保存磁盘,之后能再次获取,ActiveMQ提供了好几种消息持久化方案比如kahaDB 、JDBC等,下面来一个个看。

bit-cafe 2209

ActiveMQ消息存储

一、介绍 为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一半都会采用持久化机制。ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,无论使用哪种持久化方式,消息的存储逻辑都是一致的。就是在发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件、内存数据库或者远程数据库等。再试图将消息发给接收者,成功则将消息从存储中删除,失败则继续尝试尝试发送。消息中心启动以后,要先检查指定的存储位置是否有未成功发送的消息,如果有,则会先把存储位置中的消息发出去。

tingxuejianghu的博客 571
上一篇: KahaDB优化
下一篇: Java 8的新特性—终极版
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值