文档章节

什么是分布式?什么是集群?

kakai
 kakai
发布于 2018/01/24 18:28
字数 1067
阅读 5.9K
收藏 3

一、什么是集群?

    集群就是具有完整功能的系统群集,一个集群节点坏了,其它节点能照常运行,这是不是像一个并联电路?一个并联电路节点坏了,其它节点还是能够正常工作的。
     集群的功能作用就是为了增加整个系统的负载和吞吐量,所以一般我们把集群和负载均衡拿到一起来讨论和研究,当然,集群的另一个显著功能就是做系统的容错,为了保证系统稳健、长久的运行下去,一个集群节点的故障不会导致整个系统完蛋,对于客户而言是透明的,只要能正常访问,他们都不知道您系统中或许某几个系统节点已经罢工了,这样就涉及到云计算中的弹性分配,我们能根据系统的高峰、低谷期动态增加或者减少集群节点。

二、什么是分布式?

    分布式就是把一个大而复杂的业务计算分配到多个业务节点机器上,即多个节点机器构成一个完整的业务链。一个节点故障,则整个业务链中断奔溃,这就类似一个串联电路。而分布式一个比较突出的使用场景就是微服务中间件的系统架构模式。
    例如,一个RPG游戏,游戏中包含诸多功能,但有些游戏就包括寻路导航,而且为了更加可控和防止外挂的滥用,不得不把寻路导航放在服务器中计算,而寻路导航又是一个比较复杂的计算业务,那么我们可以把这个功能单独提取出来做成一个独立的业务系统,并提供对外访问接口,比如接口暴露起点网格坐标和目标终点的网格坐标,只要把这些参数传过去就能计算出最优或者接近最优的路径。这个寻路系统其实就是一个分布式节点,它只是一个游戏所有系统中的一个功能,没有这个功能,整个游戏就是失败的。
    上面的举例只是一个单一的功能,或许更加复杂的业务,需要多个分布式节点去完成。比如,我们把一个RPG游戏当做一个大而复杂的业务,那么我们可以把游戏中的任务系统做成一个分布式业务节点,还可以把邮件系统、角色系统、装备物品系统、活动系统等等做成一个个独立的分布式业务节点,所有这些功能节点构建成一个完整的游戏系统。

三、总结与强调

     目前大部分系统都是分布式和集群结合使用增加纵横拓展性,比如一个业务由多个分布式节点构成一个完整的系统,那每个分布式节点又可以做集群而增加容错性,不至于一个节点坏了,这个分布式业务系统整个奔溃,再者一个分布式的完整系统又能做集群,增加整个系统的稳定性、吞吐和负载。

    最终一句,集群类似并联电路,分布式类似串联电路,记不太清楚并联、串联电路的请网补。

四、本博文为纯理论介绍,未涉及任何拓扑图或其它比较具体的范例,有不明白的可以一起探讨,有问题也可及时纠正指导。

 

最后,给自己的开源作品打个广告

https://gitee.com/zkpursuit/kaka-notice-lib 一款服务于后端的事件领域模型框架

© 著作权归作者所有

kakai

kakai

粉丝 97
博文 13
码字总数 12842
作品 1
长沙
后端工程师
私信 提问
加载中

评论(0)

zookeeper 可以干什么

zookeeper是什么:http://www.cnblogs.com/yuyijq/p/3391945.html zookeeper能干什么:http://www.cnblogs.com/yuyijq/p/3424473.html 在Zookeeper的官网上有这么一句话:ZooKeeper is a ce......

柴火
2014/09/05
0
0
Zookeeper-Zookeeper可以干什么

Zookeeper-Zookeeper可以干什么 在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synch......

ingarfield_123
2014/06/13
0
0
Redis面试灵魂36问,你怀疑人生吗?(含答案)

前言: 说到面试,那就要好好准备下,不准备充分的面试,完全是浪费时间,更是对自己的不负责。那么面试的知识点是哪些呢? 经过大多数朋友面试过后的反馈,Java面试重点如下: 数据结构与算...

java后端开发
2019/11/08
645
0
spark源码阅读笔记Spark原理(一)基本前提

分布式与集群的区别是什么? 集群是个物理形态,分布式是个工作方式。 集群:一堆机器,进行统一管理。集群可以运行多个分布式系统,比如同时有hadoop和spark 分布式:一个程序或系统运行在不...

u014236541
2018/05/10
0
0
Apache ZooKeeper【动物管理员】

【ZooKeeper】 笔者坚信,每个名字都有着一个故事,或者一段含义。zoo代表动物园,keeper管理员。既然作为动物管理员,那么是不是得管理一些动物呢? 前面咱们讲到Hadoop,这货竟然是大象,不...

Red_Ant_hoyl
01/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

刚得到一台centos7服务器,作为Java程序员应该做的事

1.JDK的卸载安装 卸载掉服务器本来的OPENJDK,安装ORELOC的JDK 检查是否已经安装了jdk rpm -qa | grep jdk 如果有的话,就卸载了再装 rpm -e --nodeps java-1.7.0-openjdk 去Oracle下载一...

ytuan996
31分钟前
47
0
ConcurrentHashMap(1.8)源码剖析

ConcurrentHashMap(JDK1.8)学习记录 看了忘忘了看系列之ConcurrentHashMap,本文主要记录下通过看ConcurrentHashMap源码学习到的知识点。主要有以下几个点。文章稍长,需要耐心阅读。 1、Con...

DoubleCherish
32分钟前
33
0
mysql之explain详解(分析索引最佳使用)

mysql之explain详解(分析索引最佳使用) mysql explain用于分析sql 语句的执行及数据库索引的使用。本文将致力于帮助大家充分理解explain所返回的各项参数,从而使大家快速掌握explain用法技...

科比可比克
昨天
38
0
如何比较两个不同分支的文件? - How to compare files from two different branches?

问题: I have a script that works fine in one branch and is broken in another. 我有一个脚本在一个分支中工作正常,在另一个分支中被破坏。 I want to look at the two versions side-...

技术盛宴
昨天
29
0
jenkins Euleros镜像打包

一、下载需要的软件 mkdir jenkins_software && cd jenkins_softwarewget --no-check-certificate -q https://mirrors.huaweicloud.com/epel/RPM-GPG-KEY-EPEL-7 -O RPM-GPG-KEY-EPEL-7......

mbzhong
昨天
61
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部