`

5.2KahaDB消息仓库(二)

阅读更多
5.2.1KahaDB消息仓库内部组件
KahaDB消息仓库是所有提供个的消息仓库实现中最快的。它的速度是由于组合了包含数据日志文件的快速的事务性日报,高度优化的消息ID索引,和内存内消息缓存。图5.3(图略)提供了一张上层KahaDB消息仓库图。
●数据日志(Data logs):作为消息日报,它包含了存储在一定长度的数据文件的一个消息轮环日志和命令(例如事务性范围和消息删除)。如果当前使用的文件已达到最大长度,会创建一个新的数据文件。在数据文件中的所有消息被参考计算,所以一旦那个数据文件中的每个消息不再被需要,消息文件能被删除或存档。在数据日志中,消息只被附加到当前数据文件的尾部,所以存储很快。
●cache:如果消息有活动的消费者,则缓存(cache)临时保存消息。如果有活动的消费者,当消息被安排存储的时候同时被分派出去了。如果消息及时回应,那个它们不必存到磁盘中。
●BTree 索引:在由消息ID索引的数据日志中BTree 索引保存这些数据的说明。这些索引为队列维护先进先出数据结构,为主题消息维护持续订阅者指针。重做日志仅当ActiveMQ代理没有干净地停掉时被使用,并被用来确保维护完整的BTree索引。
KahaDB为它的数据日志和索引使用磁盘上不同的文件,所以在下一节我们会展示一个代表性的KahaDB目录结构。
5.2.2KahaDB消息仓库目录结构
当你启动一个配置使用KahaDB仓库的ActiveMQ代理,目录会自动被创建于持久化消息存储的地方。目录结构如图5.4所示(图略)。
在KahaDB目录内部,下面的目录和文件结构能被找到:
数据库日志文件(db log files)--KahaDB存储消息到命名为db-<Number>.log的事先定义好大小的日志文件。当一个数据日志满了,一个新的会被建立,并且日志的数字增加。当日志文件中的任何消息不再有引用到它们,日志文件会被删除会归档。
归档目录(archive directory)--这仅存在于归档被激活的情况。归档被用来存储不再被KahaDB需要的存储数据日志,使它在以后可能从归档数据日志中重现。如果归档没有被激活(默认情况),不再被使用的数据日志会从文件系统中删除。
db.data--这个文件包含了保存在消息数据日志中的消息的持久化BTree索引。
db.redo--这是一个重做文件,如果KahaDB消息存储在强制停止后启动,用于恢复BTree索引。
现在我们已经介绍了KahaDB仓库的基础知识,下一步是回顾它的配置。
5.2.3配置KahaDB消息仓库
KahaDB消息仓库能在activemq.xml文件中配置。如表5.1所描述的,它的配置选项控制控制不同的协调参数。
Table 5.1 Configuration options available for the KahaDB message store:
属性名称默认值描述
directoryactivmq-dataKahadB使用的目录路径
indexWriteBatchSize1000批量写到磁盘上的索引页面的数量
indexCacheSize10000在内存中缓存的索引页面数量
enableIndexWriteAsyncfalse如果设置,会异步地写索引
journalMaxFileLength32mb设置每个消息数据日志的最大大小的提示
enableJournalDiskSyncstrue保证每个非事务性日报之后是磁盘同步(JMS持久化需求)
cleanupInterval30000检查和丢弃/移动不再用的消息之前的时间(毫秒)
checkpointInterval5000日报检查前的时间(毫秒)
ignoreMissingJournalfilesfalse如果被激活,会忽略丢失的日志文件
checkForCorruptJournalFilesfalse如果被激活,在启动时会验证消息数据日志没有损坏
checksumJournalFilesfalse如果激活,会提供每个消息数据日志的校验和
archiveDataLogsfalse如果激活会将消息数据日志移动到归档目录而不是删除
directoryArchivenull定义当数据日志包含的所有消息被消费的时候数据日志移动到的目录
databaseLockedWaitDelay10000尝试获取数据库锁前的时间(被共享的master/slave使用)
maxAsyncJobs10000排队唤醒仓库的异步消息的最大值(应该与并发消息生产者数一致)
concurrentStoreAndDispatchTransactionstrue激活消息的调度来吸引客户端与事务性仓库并发发生
concurrentStoreAndDispatchTopicstrue激活主题的调度来吸引客户端与事务性仓库并发发生
concurrentStoreAndDispatchQueuestrue激活队列的调度来吸引客户端与事务性仓库并发发生

ActiveMQ为消息仓库提供了一个插件式的API,并且除了给KahaDB,ActiveMQ附带有三个额外的实现:
AMQ消息仓库--一个为性能设计的基于文件的消息仓库
JDBC消息仓库--一个基于JDBC的消息仓库
Memory消息仓库--一个基于内存的消息仓库
我们将在下面的三节看看使用例子和为额外的消息仓库的配置。我们将从AMQ消息仓库开始,它像KahaDB消息仓库是基于文件的实现。它早于KahaDB,但是因为它的性能特定,代替KahaDB使用AMQ仓库有意义,提供的持久化目标数相对较低。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    黑群晖5.2-5967 update 8 数据系统二合一分区备份

    黑群晖5.2-5967 update 8 数据系统二合一分区备份 可以更新系统 只要不更新大版本 只更新重要更新 备份用DG分区恢复 先用U盘引导做好系统做好数据分区 然后在系统和数据分区中间有128mb的空白 用DG给空白区新建分区 ...

    ACS5.2 第二部分 安装ACS5.2.pptx

    ACS5.2 第二部分 安装ACS5.2.pptx

    CCSv5.2-Chinese-use.rar_CCSV5.2_ccsv5

    **二、安装CCSv5.2** 1. **下载与验证**:首先,你需要从TI官方网站或授权渠道获取到CCSv5.2的安装包,确保文件名为"CCSv5.2-Chinese-use.rar"。 2. **解压文件**:使用解压缩软件如WinRAR,解压下载的rar文件,你会...

    asm-all-5.2.jar

    asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-...

    远程桌面mstsc5.2

    "mstsc5.2"指的是这个客户端的一个特定版本。 在mstsc5.2中,用户可以访问远程电脑的桌面环境,如同坐在那台电脑前一样,执行各种任务,如打开应用程序、编辑文档、管理文件等。这一版本的mstsc可能包含了一些针对...

    Core_v5.2_蓝牙5.2_蓝牙5.2核心协议_corev5.2_蓝牙_蓝牙协议_

    《蓝牙5.2核心协议详解》 蓝牙技术作为无线通信领域的主流标准,已经广泛应用于我们的日常生活,如无线耳机、智能手表、智能家居等。随着技术的不断迭代,蓝牙5.2核心协议应运而生,为物联网(IoT)提供更高效、安全...

    pro 5.2安装步骤

    西门子贴片机知识PRO 5.2安装步骤 1.pro5.2协议 ----DotNetFramework-----WinXP----1.1----dotnetfx; 2.pro5.2协议 ----DotNetFramework-----WinXP----1.1 SP1----NDP1.1sp1-KB867460-X86; 3.pro5.2协议 ----...

    单双色五代软件:LED Player5.2 版本V5.2.73.1 ListenPlayDll.dll

    《单双色五代软件LED Player 5.2:深入解析与应用》 在LED显示技术日益发达的今天,各种专业软件的出现极大地提升了显示效果和操作效率。其中,LED Player 5.2作为一款专注于单双色显示的控制软件,因其易用性和...

    INODE 5.2 PC版本

    INODE PC 版本 .5.2

    UniSolder-5_UniSolder-5.2C_nan_unisolder52_UniSolder5.2C_unisold

    UniSolder-5.2C 俄罗斯开源

    蓝牙核心协议v5.2pdf

    在标题和描述中提到的“蓝牙核心协议v5.2pdf”是指蓝牙技术联盟(SIG)发布的蓝牙5.2版本的核心规范文档。这份文档详细阐述了蓝牙5.2的所有核心技术、协议栈以及实现细节,是开发、设计和优化蓝牙设备的基础。 蓝牙...

    ACS5.2破解教程

    acs5.2破解安装教程 首先要网上找ACS5.2的破解ISO 然后根据文档一步一步操作

    APM 5.2简体中文

    APM 5.2简体中文 APM 5.2简体中文

    NCVIEWER5.2

    2. **图形化显示**:除了文字代码,该软件还支持将NC程序转化为二维或三维图形,以可视化的方式展示刀具路径,这对于检查刀具轨迹的正确性和优化加工过程至关重要。 3. **模拟仿真**:NCVIEWER5.2允许用户在虚拟...

    ACS+5.2安装破解教程+5.2lincese

    ACS+5.2安装破解教程+5.2lincese

    VirtualBox 5.2系列最新版

    VirtualBox 5.2.44是VirtualBox5.2系列的最新版本 VirtualBox是一个跨平台的虚拟化应用程序。它可以安装在现有的基于Intel或AMD的计算机上,无论它们运行的​​是Windows,Mac,Linux还是Solaris操作系统。它扩展了...

    瑞友天翼5.2高级版安装程序+瑞友天翼5.2标准版安装程序

    1、优化了集群安装,解决了副集群二次安装不能连接到主集群服务器的问题; 2、优化了B/S单点登录,新加了输入用户密码输入界面,更加便于客户理解和操作; 3、优化了动态域名策略,当一个集群有多个域名时,在agent...

    迅雷资源助手v5.2

    二、丰富资源库 得益于迅雷庞大的资源库,资源助手可以提供海量的电影资源供用户选择。无论是国内外大片,还是各种类型的电视剧、动漫、纪录片,应有尽有。用户可以根据自己的喜好进行筛选和排序,找到最符合需求的...

    ZYtrans5.2.zip

    《ZYtrans5.2:一款超好用的即时翻译工具详解》 在信息化时代,语言不再成为交流的障碍,各种翻译工具应运而生,其中ZYtrans5.2以其高效、便捷的特点,深受广大用户的喜爱。这款即时翻译工具,不仅在文献翻译方面...

    蓝牙5.2核心规范 Core_v5.2.pdf

    蓝牙5.2核心规范 蓝牙5.2核心规范是 Bluetooth SIG(蓝牙特别兴趣集团)发布的一份核心规范文档,旨在确保蓝牙设备之间的互操作性。该规范定义了蓝牙设备所需的技术,包括蓝牙协议栈、蓝牙设备架构、蓝牙应用程序...

Global site tag (gtag.js) - Google Analytics