2010-12-15 41 views
1

我将使用Apache的Hadoop,头条写着:“分布式计算”如何适用于Web开发或编程?

Apache Hadoop项目开发可靠的,可扩展的 ,分布式计算 开源软件。

我可以将“可扩展性”与编程联系起来,但我不知道这种“分布”如何帮助我进行开发。根据Wikipedia:

分布式系统由该 通过计算机网络 通信 多个自治计算机。计算机与 对方,以达到 共同目标

那么这是不是意味着我可以在多台计算机上部署我的web应用程序,并做一些“激烈计算”的互动?我想到的术语是内容交付网络和云计算。

回答

5

Web开发始终是关于分布式计算的,因为客户端与其所服务的服务器在不同的机器上,网页可以从许多服务器获取资源以构建页面内容,服务器可以与其他机器交谈以实现其目标。 CDN使这一点比以前更加明显,但实际上它们只是一个演变过程,在所要求的和用于提供它的硬件之间引入了虚拟化/间接层。

云计算是关于虚拟化的概念并将其应用于远程主机,包括低级操作系统和更高级别的软件平台。关于它们的真正有趣的事情是,这使得客户可以采用不同的商业模式(并且也有不同的风险,但是这大多与它的分布式计算无关,而是它并不完全在你自己的控制之下管辖权)。

我发现分布式计算最有效的用途是当你将不同的服务连接在一起的时候,每个服务具有不同的功能(这可能是出于技术原因,或者可能不是;有时候,这是为了商业或法律上的原因,必须将事情分开),以及这些服务中的每一个可能由多个地点的许多组件提供。在平衡能力需求(这是一种将组件集合在一起的力量)和对一般能力图的整体环境中的鲁棒性(这趋向于导致分配和复制)的需求之间存在并且继续存在问题。

我的天啊!那段听起来很可怕!我想说的是,这是所有的权衡,你应该准备好第一次没有做好准备。 (Hadoop是一种分布式文件存储机制,可以有效地在整个数据集中有效地应用某些操作类 - 适用于MapReduce或其他类似分散 - 聚集算法的操作系统;如果该鞋适合,则使用但它并不能解决所有问题,并且非常感谢这一点!可以做所有事情的东西往往看起来非常类似于根本无法做任何事情的东西,并且有用性和可理解性来自限制。)

2

Hadoop通常用于通过在多台机器上分发该数据集的处理来处理海量数据集。

这意味着你可能不想用它来“部署应用程序”。但是,您可以使用它来处理应用程序的统计信息。例如,您可能有非常大的用户数据日志。如果您的用户数据变得太大而不适合单个硬盘驱动器,并且/或者一台机器处理统计数据(使用标准方法,如SQL查询)时间过长,则会发生这种情况。

1

Ygam。虽然从1960年到2005年左右,“客户”和“服务器”的传统角色一直保持稳定。

我相信我的每一根纤维,分布式计算就是我们都在我们的口袋中运载处理器。

电话做计算工作。手机不需要中央服务器,但他们可以从中受益。

电话,智能手机,平板电脑是分布式计算的一个例子。

您现在可以使用Android设备制作wifi基站。所以现在手机变成了咖啡厅那一刻的服务器,你可以在没有互联网的情况下为你旁边的那个可爱的人打开它......现在我离题了......