跳转至

NebulaGraph 架构总览

NebulaGraph 由三种服务构成:Graph 服务、Meta 服务和 Storage 服务,是一种存储与计算分离的架构。

每个服务都有可执行的二进制文件和对应进程,用户可以使用这些二进制文件在一个或多个计算机上部署 NebulaGraph 集群。

下图展示了 NebulaGraph 集群的经典架构。

NebulaGraph architecture

Meta 服务

在 NebulaGraph 架构中,Meta 服务是由 nebula-metad 进程提供的,负责数据管理,例如 Schema 操作、集群管理和用户权限管理等。

Meta 服务的详细说明,请参见 Meta 服务

Graph 服务和 Storage 服务

NebulaGraph 采用计算存储分离架构。Graph 服务负责处理计算请求,Storage 服务负责存储数据。它们由不同的进程提供,Graph 服务是由 nebula-graphd 进程提供,Storage 服务是由 nebula-storaged 进程提供。计算存储分离架构的优势如下:

  • 易扩展

    分布式架构保证了 Graph 服务和 Storage 服务的灵活性,方便扩容和缩容。

  • 高可用

    如果提供 Graph 服务的服务器有一部分出现故障,其余服务器可以继续为客户端提供服务,而且 Storage 服务存储的数据不会丢失。服务恢复速度较快,甚至能做到用户无感知。

  • 节约成本

    计算存储分离架构能够提高资源利用率,而且可根据业务需求灵活控制成本。

  • 更多可能性

    基于分离架构的特性,Graph 服务将可以在更多类型的存储引擎上单独运行,Storage 服务也可以为多种目的计算引擎提供服务。

Graph 服务和 Storage 服务的详细说明,请参见 Graph 服务Storage 服务


最后更新: July 6, 2023