部署架构
在部署集群之前,您需要了解清楚curvine各个组件的作用,以及交互模式。下图展示了curvine的典型部署架构,自上而下分为三层:
- 应用层:包括 curvine-fuse、通过 SDK 接入的应用、CLI 运维工具等。详细内容请参考接入方式。
- Curvine 集群服务层:由 curvine-master(可多节点部署形成 Raft 组,实现高可用)与 curvine-worker 节点共同组成 Curvine 集群。
- UFS集群作为底层存储后端通过挂载的方式接入到curvine集群上,比如S3、HDFS等集群
组件作用
Master 节点(可多节点部署以实现高可用):负责元数据管理、Worker 协调与负载均衡
- 以 Raft 组形式部署(一主多从);客户端与当前 Leader 通信
- 维护文件系统元数据(目录结构、文件位置等)
- 管理 Worker 节点注册与健康检查
- 处理客户端元数据请求
- 通过 Raft 共识算法保证元数据一致性
Worker节点:负责数据存储和处理
- 存储实际数据块(支持内存、SSD、HDD多级缓存)
- 处理数据读写请求
- 定期向Master发送心跳
- 支持多副本数据存储
FUSE接口:提供POSIX文件系统接口,将分布式缓存挂载为本地文件系统
S3 Gateway:提供S3兼容的对象存储接口,支持S3 API
客户端库:提供多语言API,通过RPC与Master节和Worker节点通信
curvine master、curvine worker 与 curvine fuse 的关系
Master 以多节点(Raft 组)形式部署;客户端与 FUSE 与当前 Master Leader 通信。下图表示逻辑角色关系。
curvine fuse 使用场景
当需要让现有应用程序无需修改即可访问 Curvine 分布式缓存时,使用 FUSE 可以将 Curvine 挂载为本地文件系统。
- 默认挂载点
- /curvine-fuse