使用评测
开源代码质量不错,是编程学习的不错的一个参考。
产品的设计也比较Nice
JuiceFS 简介
JuiceFS 是一款高性能 POSIX 文件系统,针对云原生环境特别优化设计,在 Apache 2.0 开源协议下发布。使用 JuiceFS 存储数据,数据本身会被持久化在对象存储(例如,Amazon S3),而数据所对应的元数据可以根据场景需求被持久化在 Redis、MySQL、SQLite 等多种数据库引擎中。JuiceFS 可以简单便捷的将海量云存储直接接入已投入生产环境的大数据、机器学习、人工智能以及各种应用平台,无需修改代码即可像使用本地存储一样高效使用海量云端存储。
核心特性
- POSIX 兼容:像本地文件系统一样使用,无缝对接已有应用,无业务侵入性;
- HDFS 兼容:完整兼容 HDFS API,提供更强的元数据性能;
- S3 兼容:提供 S3 Gateway 实现 S3 协议兼容的访问接口;
- 云原生:通过 Kubernetes CSI driver可以很便捷地在 Kubernetes 中使用 JuiceFS;
- 多端共享:同一文件系统可在上千台服务器同时挂载,高性能并发读写,共享数据;
- 强一致性:确认的修改会在所有挂载了同一文件系统的服务器上立即可见,保证强一致性;
- 强悍性能:毫秒级的延迟,近乎无限的吞吐量(取决于对象存储规模);
- 数据安全:支持传输中加密(encryption in transit)以及静态加密(encryption at rest);
- 文件锁:支持 BSD 锁(flock)及 POSIX 锁(fcntl);
- 数据压缩:支持使用 LZ4 或 Zstandard 压缩数据,节省存储空间;
架构
JuiceFS 由三个部分组成:
- JuiceFS 客户端:协调对象存储和元数据存储引擎,以及 POSIX、Hadoop、Kubernetes、S3 Gateway 等文件系统接口的实现;
- 数据存储:存储数据本身,支持本地磁盘、对象存储;
- 元数据引擎:存储数据对应的元数据,支持 Redis、MySQL、SQLite 等多种引擎;