从最纯粹的角度来看,它们有点像相同的概念。两者都管理资源/节点集并控制来自外部组件或通过外部组件的访问。
使用池,您可以将这些资源/节点借入和从池中归还。
使用集群,您有一个位于资源/节点前面的负载均衡器,您可以向负载均衡器发出请求。
在这两种情况下,您都完全无法控制您的请求/借用映射到哪个资源/节点。
所以我提出一个问题:“池”模式和负载平衡集群之间的根本区别是什么?
从最纯粹的角度来看,它们有点像相同的概念。两者都管理资源/节点集并控制来自外部组件或通过外部组件的访问。
使用池,您可以将这些资源/节点借入和从池中归还。
使用集群,您有一个位于资源/节点前面的负载均衡器,您可以向负载均衡器发出请求。
在这两种情况下,您都完全无法控制您的请求/借用映射到哪个资源/节点。
所以我提出一个问题:“池”模式和负载平衡集群之间的根本区别是什么?
池用于避免不断创建和销毁创建成本高昂的资源。池中的资源一次只能由一个客户端使用。可用资源存储在池中。当您需要一个时,您可以从池中获取它,从而使其对其他客户端不可用。完成资源后,将其放回池中。池通常用于数据库连接和线程。另一个优点是它允许将资源(连接、线程)的数量保持在合理的最大值。
集群是节点(计算机、虚拟机)的集合,它允许为大量并发客户端(可扩展性)提供服务并避免单点故障(故障转移、冗余)。另请注意,负载平衡器不一定是随机的。在许多情况下,负载均衡器使用粘性会话:一旦客户端被分配到集群的一个节点,他的所有后续请求都会转到同一个节点。
因此,池和集群之间的目标是不同的。并且存储在池中的资源与集群的资源不同。