NebulaGraph 架构总览Graph
NebulaGraph 由三种服务构成:Graph 服务、Meta 服务和 Storage 服务,是一种存储与计算分离的架构。
每个服务都有可执行的二进制文件和对应进程,用户可以使用这些二进制文件在一个或多个计算机上部署 NebulaGraph 集群。
下图展示了 NebulaGraph 集群的经典架构。
Meta 服务Graph
在 NebulaGraph 架构中,Meta 服务是由 nebula-metad 进程提供的,负责数据管理,例如 Schema 操作、集群管理和用户权限管理等。
Meta 服务的详细说明,请参见 Graph。
Graph 服务和 Storage 服务Graph
NebulaGraph 采用计算存储分离架构。Graph 服务负责处理计算请求,Storage 服务负责存储数据。它们由不同的进程提供,Graph 服务是由 nebula-graphd 进程提供,Storage 服务是由 nebula-storaged 进程提供。计算存储分离架构的优势如下:
- 易扩展
分布式架构保证了 Graph 服务和 Storage 服务的灵活性,方便扩容和缩容。
- 高可用
如果提供 Graph 服务的服务器有一部分出现故障,其余服务器可以继续为客户端提供服务,而且 Storage 服务存储的数据不会丢失。服务恢复速度较快,甚至能做到用户无感知。
- 节约成本
计算存储分离架构能够提高资源利用率,而且可根据业务需求灵活控制成本。
- 更多可能性
基于分离架构的特性,Graph 服务将可以在更多类型的存储引擎上单独运行,Storage 服务也可以为多种目的计算引擎提供服务。
Graph 服务和 Storage 服务的详细说明,请参见 Graph。
最后更新: January 14, 2022