zookeeper(12)源码分析-请求处理链(2)(syncrequestprocesso,zo,zookeepe,编程语言)

时间:2024-05-08 22:49:15 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    zookeeper%EF%BC%8812%EF%BC%89%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90-%E8%AF%B7%E6%B1%82%E5%A4%84%E7%90%86%E9%93%BE%EF%BC%882%EF%BC%89

SyncRequestProcessor,该处理器将请求存入磁盘,其将请求批量的存入磁盘以提高效率,请求在写入磁盘之前是不会被转发到下个处理器的。

SyncRequestProcessor维护了ZooKeeperServer实例,其用于获取ZooKeeper的数据库和其他信息;维护了一个处理请求的队列,其用于存放请求;维护了一个处理快照的线程,用于处理快照;维护了一个running标识,标识SyncRequestProcessor是否在运行;同时还维护了一个等待被刷新到磁盘的请求队列。

构造函数首先会调用父类的构造函数,然后根据构造函数参数给类的属性赋值,其中会确定下个处理器,并会设置该处理器正在运行的标识。

flush将toFlush队列中的请求刷新到磁盘中。

函数用于关闭SyncRequestProcessor处理器,其首先会在queuedRequests队列中添加一个结束请求requestOfDeath,然后再判断SyncRequestProcessor是否还在运行,若是,则会等待其结束;之后判断toFlush队列是否为空,若不为空,则刷新到磁盘中

本文:zookeeper(12)源码分析-请求处理链(2)的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:【数据结构】二叉树的实现(如:默认成员函数、(叶子)节点数、深度、四种遍历)下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18