当前位置: 首页 > news >正文

深圳网站建设jm3q经典重庆论坛上不了了

深圳网站建设jm3q,经典重庆论坛上不了了,python 网站建设,手机网站建设平台引言 ActiveMQ在不提供持久化的情况下#xff0c;数据保存在内存中#xff0c;一旦应用崩溃或者重启之后#xff0c;数据都将会丢失#xff0c;这显然在大部分情况下是我们所不希望的。对此ActiveMQ提供了两种持久化方式以供选择。 kahaDB kahaDB是一个基于文件#xf…引言 ActiveMQ在不提供持久化的情况下数据保存在内存中一旦应用崩溃或者重启之后数据都将会丢失这显然在大部分情况下是我们所不希望的。对此ActiveMQ提供了两种持久化方式以供选择。 kahaDB kahaDB是一个基于文件支持事务的、可靠高性能可扩展的消息存储器目前是activeMQ默认的持久化方式配置也十分简单 persistenceAdapterkahaDB directory${activemq.data}/kahadb/ /persistenceAdapter以上配置是将存储目录设置为${activemq.data}/kahadb。 存储目录下文件说明 db.data索引文件本质上是BTree的实现存储到了db-*.log消息文件的索引。 db.redo用来进行数据恢复的redo文件 db-*.log存储消息内容的文件包括消息元数据、订阅关系、事务等数据。 lock表示已启动一个实例。 kahaDB配置支持的参数: 参数默认值说明indexWriteBatchSize1000当缓存中更新的索引到达1000时将数据同步到磁盘中数据是批量同步的。indexCacheSize10000在内存中最多分配多个页面来缓存索引。缓存的索引越多命中的概率就越大检索的效率就越高journalMaxFileLength33554432默认值32MB配置单个消息文件的大小超过一定大小以后重新创建一个新的文件进行保存。enableJournalDiskSyncstrue表示采用同步写磁盘即消息先存储到磁盘后再向Producer返回ACKcleanupInterval30000当消息被消息者成功消费之后Broker就可以将消息删除的时间间隔。checkpointInterval5000每隔5s将内存中的index缓存更新到磁盘文件中。 底层实现 从上图中可以看出图中各个部分与KahaDB配置的存储目录下的文件是一 一对应的。 ①在内存(cache)中的那部分B-Tree是Metadata Cache 通过将索引缓存到内存中可以加快查询的速度(quick retrival of message data)。但是需要定时将 Metadata Cache 与 Metadata Store同步。 **这个同步过程就称为check point。**由checkpointInterval选项 决定每隔多久时间进行一次checkpoint操作。 ②BTree Indexes则是保存在磁盘上的称为Metadata Store它对应于文件db.data它就是对Data Logs以B树的形式 索引。有了它Broker消息服务器可以快速地重启恢复因为它是消息的索引根据它就能恢复出每条消息的location。 如果Metadata Store被损坏则只能扫描整个Data Logs来重建B树了这个过程是很复杂且缓慢的。 ③Data Logs则对应于文件 db-*.log默认是32MB Data Logs以日志形式存储消息它是生产者生产的数据的真正载体。 The data logs are used to store data in the form of journals, where events of all kinds—messages, acknowledgments, subscriptions, subscription cancellations, transaction boundaries, etc. ---are stored in a rolling log④Redo Log则对应于文件 db.redo redo log的原理用到了“Double Write”。关于“Double Write”可参考 简要记录下自己的理解因为磁盘的页大小与操作系统的页大小不一样磁盘的页大小一般是16KB而OS的页大小是4KB。而数据写入磁盘是以磁盘页大小为单位进行的即一次写一个磁盘页大小这就需要4个OS的页大小4*416。如果在写入过程中出现故障(突然断电)就会导致只写入了一部分数据(partial page write) 而采用了“Double Write”之后将数据写入磁盘时先写到一个Recovery Buffer中然后再写到真正的目的文件中。在ActiveMQ的源码PageFile.java中有相应的实现。 扩展知识Linux中的日志文件系统因为Linux的 ext文件系统采用索引节点来存储文件的元数据每次数据写入磁盘之后需要更新索引节点表。而写入磁盘与更新索引节点表并不是“原子操作”比如在数据写入磁盘后系统发生故障之前写入的数据就再也找不到了。 因此日志文件系统给Linux系统增加了一层安全性数据写入存储设备之前先将数据或者只将索引节点信息写日志写入到临时文件中该临时文件称日志。如果在数据写入时发生故障还可以通过日志来进行一定的恢复。 附录 参考 https://www.cnblogs.com/hapjin/p/5674257.html https://www.iteye.com/blog/netcomm-1455086
http://www.dnsts.com.cn/news/32824.html

相关文章:

  • 一个网站的运营成本酒店预订网站建设
  • 门户网站建设整改报告wordpress 摘要显示
  • 深圳市建设工程造价管理站室内装修网站html源码 企业
  • 如何做类似于淘宝的网站有什么办法做自己的网站
  • 在哪些网站可以做毕业设计自适应网站如何做mip网页
  • 彩票网站定制软件设计是什么工作
  • 网站开发工程师 能做什么建网站的价格
  • 农业建设管理信息网站给企业做网站推广好么?
  • 学校网站建设预算网站制作程序
  • 有经验的赣州网站建设小企业网站建设公司哪家好
  • 开发一个官方网站要多少钱百度网址大全电脑版
  • 南京搜必应网站优化怎么做网络销售
  • 电子商务网站建设项目范围wordpress手机访问主题
  • 苏州微网站建设小程序sdk开发
  • 创意工作室网站阿里云网站域名查询
  • 上海专业网站建设网站餐饮业网站建设招标书
  • 网站开发有什么好的命题弹幕视频网站开发
  • 门户网站自查报告建筑网校排名前十的品牌
  • 保定企业免费建站手机网站打开速度
  • 可信网站认证有用吗一个网页的制作流程
  • 网站更换目录名如何做301跳转网站建设 制作公司
  • 绿色网站建设背景的原因wordpress反向代理
  • 怎么用阿里云服务器做淘客网站网站tag页面如何做
  • 北京房产网站大全怎么创建自己的官网
  • 网站域名代理备案怎样学好动漫制作专业
  • 如何建设 营销型 网站织梦 营销型网站
  • 青岛网站制作方法买权重网站
  • 计算机网络设计实验报告北京seo优化wyhseo
  • 企业快速建站免费模板wordpress需要登录密码
  • net网站开发做手工简笔yellow最新免费观看