2作者: ebogdum9 个月前
我们启动 CallFS 是在又一次深夜“上传的文件怎么不见了?”事故之后。我们的小团队之前拼凑了 rsync、一个脆弱的 NFS 挂载,以及一个 S3 存储桶——这些都无法监控,随时可能出问题。<p>所以我们用 Go 编写了一个单进程文件服务,它: • 兼容 S3 API(因此现有的工具可以正常使用)。 • 将热数据存储在本地磁盘上以提高速度;冷数据可以存储在任何兼容 S3 的存储桶中。 • 默认情况下会暴露 Prometheus 指标和 JSON 日志,因为“发生了什么?”不应该靠猜测。 • 以大约 25 MB 的静态二进制文件形式发布——没有外部依赖,采用 MIT 许可证。<p>如今,它在单节点或并排部署中运行稳定。集群功能正在规划中,复制功能也将随后推出,但我们希望尽早分享代码并听取实际应用中的痛点。如果存储胶合代码曾经毁了你的周末,我们非常欢迎您的反馈和 PR。