当你放置多个 Janusserver 时,顶点的 VertexIDs 可以碰撞或不碰撞

VertexIDs of vertex can collide or not, when you put several Janusserver

我有一个问题。我想知道当您将多个 Janusserver 插入顶点放在同一个 Cassandra 上时,顶点的顶点 ID 是否会发生冲突?

VertexID 在集群中是唯一的

JanusGraph ID 为 64 位长

[ 0 | count | partition | ID padding (if any) ]
  • ID 填充:基于元素的类型
  • 分区:每个 janusgraph 节点为某些(默认 10 个)分区唯一分配 IDBlock。
  • 计数:提供每个 IDBlock 的本地计数

与计数、分区和 id 填充一起,是跨集群唯一的 ID


JanusGraph 使用 ConsistentKeyIDAuthority class 分配 IDBlock。 IDBlock 由开始计数和块大小组成(默认值 10000)。对于 JanusGraph 实例中的每个分区,它在本地递增计数,从开始计数开始并分配最大块大小编号 id。

一个 JanusGraph 实例默认有 10 个分区。这些分区和 IDBlock 在启动时初始化,如果创建的 IDBlock id 大小超过块大小,则它会重新分配新的 IDBlock。如果分区的开始计数超过最大计数器值,则将其添加到耗尽的分区。

JanusGraph 使用 cassandra janusgraph_ids table 分配 IDBlock。

注意:所有术语分区、IDBlock 都是 JanusGraph 特定的