目标: 将 cluster 的数据同步到云端(IoTDB/其它数据库/大数据平台)。


基本需求:

1) 将 IoTDB cluster  的数据同步到云端(IoTDB/其它数据库/大数据平台)。

2)最好支持用户自定义插件,用户可自定义将数据投递到不同类型的 数据 sink 端。


设计实现:

一个还不成熟的初步设想是将 sink 端伪装成一个 虚拟的 Raft 节点,插入到所有Data 共识组里去。

优点:

  1. 可利用共识组已有的数据同步、跟随、SnapShot能力,将历史数据和新增数据同步到sink。
  2. 由于Raft 的协议特性,Leader 到此节点的数据同步自带数据缓冲能力。
  3. 一个集群里,此虚拟 Raft 节点可以有多个。有利于实现 load 的 balance。

难点:需要共识层能支持 这种虚拟的 Raft 节点。

  1. 此 虚拟 Raft 节点 不会参与选举(即:不会变成 Leader)。
  2. 此 虚拟 Raft 节点不参与投票。
  3. 此 虚拟 Raft 节点只跟着 Leader 做数据跟随。







  • No labels