池和集群之间的区别

时间:2012-07-04 18:23:58

标签: design-patterns cluster-computing load-balancing pool

从最纯粹的角度来看,他们有点像相同的概念。它们都管理一组reosurces /节点,并控制它们对外部组件的访问。

使用池,您可以向池中借用这些资源/节点并将其从池中返回。

对于群集,您有一个位于资源/节点前面的负载均衡器,您可以通过请求点击负载均衡器。

在这两种情况下,您完全无法控制请求/借用映射到哪个资源/节点。

所以我提出了一个问题:“池”模式和负载均衡集群之间的根本区别是什么?

1 个答案:

答案 0 :(得分:14)

池用于避免不断创建和销毁创建成本高昂的资源。来自池的资源一次只能由一个客户端使用。可用资源存储在池中。当您需要它时,您可以从池中获取它,从而使其对其他客户端不可用。完成资源后,将其重新放回池中。通常,池用于数据库连接和线程。另一个优点是它允许将资源(连接,线程)的数量保持在合理的最大值。

群集是节点(计算机,虚拟机)的集合,允许服务大量并发客户端(可伸缩性)并避免单点故障(故障转移,冗余)。另请注意,负载平衡器不一定是随机的。在许多情况下,负载均衡器使用粘性会话:一旦将客户端分配给集群的节点,其所有后续请求都将转到同一节点。

因此,池和集群之间的目标并不相同。存储在池中的资源与集群资源的种类不同。