当前位置: 首页 > 科技观察

一分钟搞懂分布式和集群

时间:2023-03-21 16:06:23 科技观察

先给出我理解的定义。分布式是由一组通过网络互连的计算机组成的系统;集群是指完成一个或一组相关任务的分布式系统。上图是一个分布式架构,四个节点相互连接;分布式只是表示一种拓扑关系,不涉及具体的服务。现在将应用程序叠加在抽象拓扑上(这样它就可以实际工作),例如其中一台机器承担负载均衡的角色。这是一个集群——即一组相互连接以完成实际任务的计算机。一般来说,“任务”(目标)有几种类型:高可用性,其中一台服务器发生故障而不影响整个系统的正常运行。比如在Keepalived负载均衡中,工作负载被分配到不同的机器上执行。比如LVS高性能计算,将一个大的任务进行分解,利用多个节点的资源组合来完成计算。例如Hadoop网格计算就是基于共享存储,多个节点共同完成计算任务。所有节点都是此结构中的对等节点。比如OracleRAC。我们常说的MasterSlave架构其实就是集群架构模型。上面列表中的高可用、负载均衡、高性能计算都属于这种架构模型。简单的说:分布式是一个抽象的概念,而集群是一个具体的实现。集群系统一定是分布式的,分布式不一定是集群(比如互联网是分布式系统,但不是集群)。【本文为专栏作家“行森”原创文章,转载请联系作者获得授权】点此阅读更多本作者好文