最近我在接受采访时被问到如何在java中读取大文件(1TB的单个文件)。我说通过使用Threading,我们将创建两个File对象,一个线程将从头开始读取它,其他Thread将会从上次读。可能这是愚蠢的回答。而采访者通过使用水平/垂直缩放,聚类给出了提示。 我在Google看到没有水平/垂直缩放,聚类和阅读文件的示例。任何人都可以帮助
答案 0 :(得分:1)
这个面试问题非常开放;它试图让你说话并大声思考。会有很多答案。
我个人的解释:
两个缩放都不是指类或框架。它们是架构中的概念。如果你不清楚,可以从维基百科开始。
垂直扩展:在这里,他们可能希望您了解如何在单个主机上提高性能以完成这项巨大的文件工作。这涉及更好的磁盘,raid,多线程当然。如果任何CPU /内存负载很重,可能有更多的CPU和内存。
横向缩放:这通常是关于如何跨多个jvm主机划分问题以同时处理文件,分而治之,分散/聚集模式。