您的位置 首页 java

身为Java程序员的你知道分布式与集群的联系及区别吗?

集群

多台服务器组成的一组计算机,作为一个整体存在,向用户提供一组网络资源,这些单个的服务器就是集群的节点。

集群拥有以下两个特点:

  1. 可扩展性:集群的性能不限制于单一的服务实体,新的服务实体可以动态的添加到集群,从而增强集群的性能。
  2. 高可用性:集群当其中一个节点发生故障时,这台节点上面所运行的应用程序将在另一台节点被自动接管,消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。

集群必须拥有以下两大能力:

  1. 负载均衡 :负载均衡把任务比较均匀的分布到集群环境下的计算和网络资源,以提高数据吞吐量。
  2. 错误恢复:如果集群中的某一台服务器由于故障或者维护需要无法使用,资源和应用程序将转移到可用的集群节点上。这种由于某个节点的资源不能工作,另一个可用节点中的资源能够透明的接管并继续完成任务的过程,叫做错误恢复。

负载均衡和错误恢复要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图必须是相同的。

分布式 与集群的联系和区别

  1. 分布式是指将不同的业务分布到不同的地方。
  2. 而集群是指将几台服务器集中在一起,实在同一个业务。
  3. 分布式的每一个节点,都可以用来做集群。而集群不一定就是分布式了

例如:互联网上访问的人多了,就可以做一个集群,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将任务交给哪台去完成。

而分布式,从狭义上理解,也与集群差不多,但是它的组织比较松散,不像集群,有一定组织性,一台服务器宕了,其他的服务器可以顶上来。分布式的每一个节点,都完成不同的业务,一个节点宕了,这个业务就不可访问了。

以上就是我的分享,觉得有所收获的朋友们可以点个关注转发收藏一下哦,想学习更多的 Java 技术方面的知识的朋友们,可以进我自己的一个后端技术群,里面有高可用、高并发、高性能及分布式、 Jvm 性能调优、Spring源码, MyBatis Netty ,Redis,Kafka,Mysql, Zookeeper , Tomcat ,Docker, Dubbo , Nginx 等多个知识点的架构资料,进去即可免费领取,QQ群:680075317,也可以进群一起交流,比如遇到技术瓶颈、面试不过的,大家一些交流学习!!!

文章来源:智云一二三科技

文章标题:身为Java程序员的你知道分布式与集群的联系及区别吗?

文章地址:https://www.zhihuclub.com/183949.shtml

关于作者: 智云科技

热门文章

网站地图