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对数据库进行操作完成消息的存储和修改。某种存储方案的性能,除了这种存储方案的工作原理以外对其有直接影响外,还要考虑它的工作环境。只有根据软件团队预估的系统压力、综合建设方案、考虑后续扩容方式,来确定采用哪一种存储方案,才是科学的。

架构设计:系统间通信(23)——提高ActiveMQ工作性能(中) - JAVA入门中 - CSDN博客

最新文章

  1. Oracle一个中文汉字占用几个字节
  2. HTML5新特性之WebSocket
  3. iOS开发之Xcode 6更新默认不支持armv7s架构
  4. c#复习整理
  5. JavaScript 防止事件冒泡
  6. 如何生成Dump文件
  7. js+css3 动画数字累加
  8. IIS7.0出错的解决方案 IIS 状态代码:IIS详细错误代码以及解释
  9. 使用ul,添加新闻信息列表
  10. url 的httppost 和http get ,put,delect
  11. 要删除共享的初始登陆名 cmd下输入net use * /delete
  12. AI 人工智能 探索 (四)
  13. [python] bluepy 一款python封装的BLE利器
  14. 最简单的HashMap底层原理介绍
  15. excel 表格粘贴到word 显示不完整
  16. wgrib读grib数据
  17. 第三百四十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP
  18. matlab中 %d,%f,%c,%s代表什么意思
  19. Mybatis三剑客之mybatis-plugin
  20. 文本处理三剑客之 Sed ——一般编辑命令

热门文章

  1. Thrift0.11.0基于Intellij IDEA的简单的例子
  2. 秒杀多线程第五篇 经典线程同步 关键段CS
  3. linux 检查补丁包是否安装 名称 版本 release号
  4. 记一次使用utl_http方法调用接口,报字符或值错误
  5. python *args **kwargs,传入不固定的参数给函数,或者传入很多的内容给函数,常用在构造函数中。
  6. 关于C++静态成员函数访问非静态成员变量的问题
  7. String,StringBuilder和StringBuffer的特点和使用场景
  8. 2019.1.7 EDVT measurement III
  9. HAWQ + MADlib 玩转数据挖掘之(七)——关联规则方法之Apriori算法
  10. B - Build The Electric System 求强连通的最小和//lxm