Skip to the content.

介绍

服务说明

实现以下几种功能:

基于 raft 实现的数据存储服务, 能实现 2n+1 台节点的数据一致性存储.

配置文件

服务的配置文件格式如下:

      <root>
        <raft>
            #选举超时时间(毫秒)
            electionTimeoutMilliseconds = 3000
            #leader和从机间心跳时间(毫秒)
            heartbeatPeriodMilliseconds = 300
            #数据制作快照的时间(毫秒)
            snapshotPeriodSeconds       = 6000
            #同步数据时, 每个请求最大的日志条数
            maxLogEntriesPerRequest     = 100
            #同步数据时, 内存队列最大的数据条数
            maxLogEntriesMemQueue       = 3000
            #同部数据时, 正在传输的数据最大条数
            maxLogEntriesTransfering    = 1000
        </raft>
        #起始计数
        start-count = 100000
        storage-path=/count-data
      </root>

部署说明

部署主要关注几点:

使用说明

服务说明

服务有两个 servant:

使用者调用 CountObj 接口即可, RaftObj 是提供给 raft 协议协商使用.

读接口都带有 leader 参数, 表示是否一定要从 leader 读取数据, 对于实时性以及数据准确性要求不那么高的请求, 可以设置 leader 为 false, 这样能提高整体集群的通信效率.