我正在为我们的应用程序堆栈设置一个包含许多不同组件的 kubernetes 集群,并且我正在尝试平衡存储需求,同时尽量减少组件的数量。
我们有一个网络爬虫,它每天下载数以万计的 HTML 文件(可能还有 PDF),我想将这些文件存储在某个地方(以及一些 JSON 元数据)。我希望文件以冗余的可扩展方式存储,但是拥有数百万个小文件似乎不适合 GlusterFS。
同时,我们的系统使用了一些非常大的二进制文件(数 GB 大),也可能还有许多较小的二进制文件(10 兆字节)。这些似乎不适合任何分布式 NoSQL DB,如 MongoDB。
所以我正在考虑使用 MongoDB + GlusterFS 来分别解决这两个需求,但我宁愿减少移动部件的数量,只使用一个系统。我还阅读了关于在没有例如 Redhat 支持的情况下使用 GlusterFS 的各种警告(我们肯定不会支持)。
任何人都可以推荐替代方案吗?我正在寻找一种分布式二进制对象存储,它易于设置/维护并支持小文件和大文件。我们设置的一个优点是文件很少被更新或删除(只是写入然后读取),我们甚至不需要索引(将由 elasticsearch 单独处理)或读取的高速访问。