Meta 服务

    Meta 服务是由 nebula-metad 进程提供的,用户可以根据场景配置 nebula-metad 进程数量:

    • 生产环境中,建议在 Nebula Graph 集群中部署3个 nebula-metad 进程。请将这些进程部署在不同的机器上以保证高可用。

    所有 nebula-metad 进程构成了基于 Raft 协议的集群,其中一个进程是 leader,其他进程都是 follower。

    leader 是由多数派选举出来,只有 leader 能够对客户端或其他组件提供服务,其他 follower 作为候补,如果 leader 出现故障,会在所有follower 中选举出新的 leader。

    leader 和 follower 的数据通过 Raft 协议保持一致,因此 leader 故障和选举新 leader 不会导致数据不一致。更多关于 Raft 的介绍见附录。

    Meta 服务功能

    Meta 服务中存储了用户的账号和权限信息,当客户端通过账号发送请求给Meta 服务,Meta 服务会检查账号信息,以及该账号是否有对应的请求权限。

    更多 Nebula Graph 的访问控制说明,请参见。

    管理分片

    Meta 服务负责存储和管理分片的位置信息,并且保证分片的负载均衡。

    管理 Schema 信息

    Nebula Graph 是强类型图数据库,它的 Schema 包括 Tag、Edge type、Tag 属性和 Edge type 属性。

    Meta 服务中存储了 Schema 信息,同时还负责 Schema 的添加、修改和删除,并记录它们的版本。

    更多 Nebula Graph 的 Schema 信息,请参见数据模型

    Meta 服务提供基于 TTL(Time To Live) 的自动数据回收和空间回收。

    管理作业