2012-07-04 40 views
8

从最纯粹的角度来看,它们有点像相同的概念。两者都管理重建/节点组并控制其从外部组件或通过外部组件访问。游泳池和集群之间的区别

有一个池,您借用这些资源/节点并将其返回池中。

对于一个集群,您有一个负载平衡器坐在资源/节点前面,并且您通过请求点击负载平衡器。

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

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

回答

12

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

群集是一个节点(计算机,虚拟机)的集合,它允许为更多并发客户端(可扩展性)提供服务并避免单点故障(故障转移,冗余)。另请注意,负载平衡器不一定是随机的。在很多情况下,负载平衡器使用粘性会话:一旦客户端被分配到集群的一个节点,他的所有后续请求就会转到同一节点。

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