ToolsLib 切换到 MinIO 以提升可扩展性和性能
ToolsLib 最近切换到了一个 全新的仪表盘。然而,在幕后,另一个切换正在发生。我们使用基于块的文件系统作为底层存储。但是,随着我们的发展,文件系统越来越难以扩展。
因此,我们正在寻求从基于块的存储迁移到对象存储系统,这时我们发现了 MinIO。经过初步分析,MinIO 非常符合我们的需求,因此我们切换到了 MinIO。
不仅切换非常顺利,团队对新的存储系统也非常满意。我们认为这是一个开源软件的巨大成功案例,需要与我们的社区分享。
ToolsLib
ToolsLib 为开发者提供软件托管和相关的项目管理服务。ToolsLib 通过简单的下载和发布选项,方便开发者访问日常使用的软件。
情况
我们过去将所有非结构化数据存储在基于块的文件系统上。虽然文件系统最初为我们提供了良好的服务,但随着我们的发展,它越来越难以扩展。此外,基于块的文件系统很难在多台服务器之间进行可靠的同步,从而成为我们整体运营的瓶颈。
解决方案
对象存储更适合组织我们的数据,一个桶代表一个项目,存储多个文件——使用这种抽象来管理它们比使用传统的文件夹要容易得多。
目前,我们部署了一台配备 16GB 内存的 MinIO 服务器,运行两块 SSD,配置为 RAID1。MinIO 服务器已经托管了数 GB 的数据,并每秒处理 10 到 50 个请求。由于软件栈是 PHP,我们使用 AWS PHP SDK。上传使用多部分上传,文件大小最高可达 1.5GB,下载使用流。
我们库中的一些非常流行的软件会在短短几秒钟内产生巨大的请求峰值。为了有效地处理这种负载并主动监控它,我们使用 mc events 和 mc watch。
迁移使我们能够简化存储管理,同时为开发服务提供灵活性。
要了解使用 MinIO 的其他项目/公司,请查看 Awesome MinIO。
趁此机会,帮助我们了解您的用例以及我们如何更好地帮助您!填写 我们的 MinIO 部署最佳实践表格(不到一分钟即可完成),并有机会在 MinIO 网站上展示您的 MinIO 私有云设计,并向 MinIO 社区展示。
本文最初发布在 ToolsLib 博客 上,已获得授权在 MinIO 博客上转载。