ActiveMQ消息持久化存储策略
2023-09-11 14:18:08 时间
ActiveMQ的内核是Java编写的,也就是说如果服务端没有Java运行环境ActiveMQ是无法运行的。ActiveMQ启动时,启动脚本使用wrapper包装器来启动JVM。JVM相关的配置信息在启动目录的“wrapper.conf”配置文件中。各位读者可以通过改变其中的配置项,设置JVM的初始内存大小和最大内存大小(当然还可以进行其他和JVM有关的设置,例如开启debug模式)。
从最初的AMQ Message Store方案,到ActiveMQ V4版本中推出的High performance journal(高性能事务支持)附件 ,并且同步推出了关于关系型数据库的存储方案。ActiveMQ 5.3版本中又推出了对KahaDB的支持(首先KahaDB基于文件系统,其次KahaDB支持事务, V5.4版本后称为ActiveMQ默认的持久化方案),后来ActiveMQ V5.8版本开始支持LevelDB,到现在,V5.9+版本提供了标准的Zookeeper+LevelDB集群化方案。
ActiveMQ常用的三种持久化存储方案:KahaDB、LevelDB、关系型数据库。其中KahaDB和LevelDB的工作原理基本类似,都采用内存+磁盘介质的方案:内存用于存放信息的位置索引,磁盘介质上存放消息内容。而关系型数据库的方案,ActiveMQ将完全通过JDBC对数据库进行操作完成消息的存储和修改。某种存储方案的性能,除了这种存储方案的工作原理以外对其有直接影响外,还要考虑它的工作环境。只有根据软件团队预估的系统压力、综合建设方案、考虑后续扩容方式,来确定采用哪一种存储方案,才是科学的。
相关文章
- Cookie的具体使用之来存储对象
- Mysql第九天 内部存储代码、绑定变量
- Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
- Centos7 tiup搭建tiBD集群、扩容、缩容存储节点、修改监控节点
- MySql Blob图片类型存储Bug解决:索引超出了数组界限错误
- k8s pod实现共享网络和共享存储机制原理及pod内容器共享存储代码示例
- MySQL怎么选择合适的存储引擎
- Atitit 中间件之道 attilax著 1. 第1章 中间件产生背景及分布式计算环境2 2. 中间件分类2 2.1. 通讯,消息,数据存储中间件3 3. 第3章 COM相关技术3 4.
- Atitit 软件项目的一整套解决方案(gui界面,中间,存储数据库,图像处理,全文搜索)attilax总结
- 【华为机试 Python实现】图的存储结构
- RocketMQ消息存储
- C经典之14-双向链表存储1-10---ShinePans
- 修改Docker默认镜像和容器的存储位置
- 二叉树的遍历-链式存储
- ceph 创建/删除存储池、设置存储池副本数、设置查看存储池配置 pool 配额
- 设计一个算法,输出从u到v的全部最短路径(採用邻接表存储)
- Spring JDBC调用存储过程