首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

zookeeper储存之实现分析

2012-11-21 
zookeeper存储之实现分析zookeeper 存储基本都是在SyncRequestProcessor 单个线程完成的1) 初始化1.1)Data

zookeeper存储之实现分析


zookeeper 存储基本都是在SyncRequestProcessor 单个线程完成的


1) 初始化


1.1)DataTree初始化public static String makeSnapshotName(long zxid) { return "snapshot." + Long.toHexString(zxid); }


4)小结

    服务器包含两个重要日志:快照以及事务日志

    服务器使用单线程来处理所有请求(和存储相关)

    服务器选择了合适的时机产生快照以及roll事务日志,避免阻塞

    和存储(写磁盘)相关的方法都是同步的(synchronized),虽然一个线程在操作

    如果服务器崩溃了,日志还没有flush掉,数据会丢失(至少单机的时候是这样)

    所有的读请求直接从内存走和磁盘无关,但响应速度会受一些影响见上面的3.0)

    接下来的几个问题还需跟踪

      为什么会同时加载多个snapshot? 1个最近的snapshot不就够了?

      sessiontrack的机制?ZKDatabase中的sessionsWithTimeouts与sessiontrack的关系

      集群环境下又会有什么变化?




热点排行