“分布式计算”如何适用于Web开发或编程?

时间:2010-12-15 00:57:28

标签: distributed-computing

我即将使用Apache Hadoop,标题为:

  

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

我可以将“可伸缩性”与编程联系起来,但我只是不知道这种“分发”如何在我的开发中帮助我。根据维基百科:

  

分布式系统包括   多个自主计算机   通过计算机进行通信   网络。计算机与之交互   彼此为了实现一个   共同目标

这是否意味着我可以在多台计算机上部署我的网络应用程序并进行某种“强烈计算”?我想到的术语是内容交付网络和云计算。

3 个答案:

答案 0 :(得分:5)

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

云计算是将虚拟化的概念应用于远程托管,包括低级操作系统和更高级别的软件平台。关于它们的真正有趣之处在于,它可以为客户提供不同的商业模式(并且具有不同的风险,但这主要与它的分布式计算无关,而是与您自己完全无法控制的事实相关)管辖权)。

我发现分布式计算最有效的用途是,当您考虑将不同的服务连接在一起时,每个服务具有不同的功能(可能是出于技术原因,也可能不是;有时,它是为了业务)或必须分割的法律原因)以及多个地点的许多组件可能提供的每项服务。在一般能力图的整体环境中,存在并且将继续存在平衡性能需求(这是将组件组合在一起的力)和稳健性需求(这往往导致分发和复制)的问题。

我的天啊!那段听起来像是可怕的piffle!我想说的是,所有这些都是权衡利弊,你应该做好准备,不要在第一时间做好准备。

(Hadoop是一种机制,用于执行分布式文件存储,并有效地应用某些类别的操作 - 那些与MapReduce或其他类似的分散 - 聚集算法完全匹配的操作 - 在整个数据集中。如果该鞋适合,请使用它但它并没有解决所有问题,并且感谢上帝的好处!可以做所有事情的事情往往看起来非常像实际上根本无法做任何事情的事情,并且有用性和可理解性受到限制。)

答案 1 :(得分:2)

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

这意味着你可能不想用它来“部署应用程序”。但是,您可以使用它来处理应用程序中的统计信息。例如,您可能拥有非常大的用户数据日志。如果您的用户数据变得太大而无法放在单个硬盘驱动器上,和/或一台计算机需要花费太长时间来处理统计信息(使用SQL查询等标准方法),就会发生这种情况。

答案 2 :(得分:1)

Ygam。虽然从1960年到2005年,“客户”和“服务器”的传统角色相当稳定。

我相信我的每一根光纤,分布式计算都是我们所有人都携带处理器。

手机做计算工作。手机不需要集中式服务器,但它们可以从中受益。

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

您现在可以使用Android设备制作无线基站。所以现在一个手机就成了各种各样的服务器,就在咖啡店的那个瞬间你为那个可爱的人在没有互联网的情况下打开它......现在我离题了.......