架构总览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,可以进一步节约前期成本。
- 更多可能性
基于分离架构的特性,Graph服务将可以在更多类型的存储引擎上单独运行,Storage服务也可以为多种目的计算引擎提供服务。
Graph服务和Storage服务的详细说明,请参见Graph。
最后更新: 2021年5月14日