池和集群之间的区别

IAm*_*aja 9 design-patterns load-balancing pool cluster-computing

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

使用池,您可以在池中借用和返回这些资源/节点.

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

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

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

JB *_*zet 14

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

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

因此,池和集群之间的目标不同.存储在池中的资源与集群资源的类型不同.