一、什么是集群?

集群是指将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事;但是每台服务器并不是缺一不可,存在的主要作用是缓解并发能力和单点故障转移问题。

集群主要具有以下特征:
(1)、伸缩性
       在一些大系统中,预测最终用户的数量和行为是非常困难的,伸缩性是指系统使用不断增长的用户数的能力;随着用户数的增长,我们只需将新的服务器加入集群中即可,对于用户来看,服务无论从连续性还是性能上都几乎没有变化,好像系统在不知不觉中完成了升级。

(2)、高可用性
       单一服务器的解决方案并不是一个健壮方式,因为容易出现单点失效,在某些关键的应用程序是不能容忍的,哪怕几分钟的死机;高可用性集群的出现就是为了使集群的整体服务尽可能可用,以便考虑软硬件的易错性;如果高可用性集群中的主节点发生了故障,那么这段时间内由次节点代替它。

(3)、负载均衡
       负载均衡集群为企业需求提供了更实用的系统,该系统使负载可以在计算机集群中尽可能平均地分摊处理,该负载可能是需要均衡的应用程序处理负载或网络流量负载;这样的系统非常适合运行同一组应用程序的大量用户;每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。

(4)、高性能
       这种设计的几圈用来开发并性编程应用模式,已解决复杂的科学问题,并行计算是相对于串行计算来说的,并行计算能力的目的是用来提高计算速度

二、什么是分布式?

分布式服务是指多台服务器集中在一起,服务是分散部署在不同的机器上;每台机器都实现总体中的不同业务,做不同的事情;一个服务可能负责几个功能,是一种面向SOA的架构;各分开部署的部分彼此通过各种通讯协议交互信息,并且每台服务器都缺一不可,如果某台服务器故障,则部分功能确实,或者导致整体无法运行;分布式存在的主要作用是大幅度的提高效率,缓解服务器的访问和存储压力。

将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。

三、什么是微服务?

微服务的概念和分布式比较相似,微服务是一种架构风格;简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能;每个微服务仅关注于完成一件任务并很好地完成该任务,这个服务可以单独部署运行;各个服务之间是松耦合的,服务之间可以通过RPC来相互交互;微服务与分布式还有一点区别是:微服务的应用不一定是分散在读个服务器上,它也可以是同一个服务器。
       微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,敏捷性也更高;但服务微服务化后带来的挑战也是显而易见的,例如服务力度小,数量大,后期运维难度增大等。

四、集群、分布式、微服务的异同及联系

(1)、分布式是以缩短单个任务的执行时间来提升效率,而集群则是通过提高单位时间内执行的任务数来提升效率;但分布式需要做好事务管理
(2)、集群模式是不同服务器部署同一套服务对外访问,实现服务的负载均衡;区别集群的方式是根据部署多台服务器业务是否相同,分布式中的每个阶段,都可以做集群;而集群并不一定就是分布式的;注意:集群需要做好Session共享,也就是接口要具有无状态特征,确保在不同服务器切换的过程中不会因为没有获取到Session而引起服务终止
(3)、分布式与微服务的架构很相似,只是部署方式不一样而已;生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的
(4)、在设计与开发中我们可以将分布式与集群的分开吗?
       分布式的主要功能是将我们的系统模块化,将系统进行解耦,方便维护和开发;但并不能解决系统的并发性和高可用性问题;而集群恰好弥补了分布式的缺陷,一方面可以解决或者说改善系统的并发问题,另一方可以解决服务器如果出现宕机后,系统仍然可以正常运转;好的设计应该是分布式和集群相结合,具体实现就是业务拆分成很多子业务,然后针对每个子业务进行集群部署。

集群、分布式、微服务的概念及异同相关推荐

  1. 沙洋有几个微服务群_集群 分布式 微服务

    转自:https://blog.csdn.net/qq_37788067/article/details/79250623 概念: 集群是个物理形态,分布式是个工作方式. 1.分布式:一个业务分拆多个 ...

  2. 一文简述服务器架构的演变过程:集群—分布式—微服务

    一.单服务器架构 小猿公司创立初期准备搭建一个电商网站销售公司产品,因为公司创业初期用户量不大而且着急上线,在资金有限的情况下公司购买了一台服务器,将小猿团队开发的网站放到服务器上这便算是正式上线了. ...

  3. 分布式和微服务区别_分布式、集群、微服务到底有啥区别?

    点击上方"不太厉害的程序猿",选择"置顶或者星标" 你关注的就是我关心的! 来源说明:部分信息来源于csdn 概念: 集群是个物理形态,分布式是个工作方式. 1 ...

  4. 分布式、集群、微服务的区别

    概念: 集群是个物理形态,分布式是个工作方式. 分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 1:分布式是指将不同的业务分布在不同的地方.而集群指的是将几 ...

  5. 集群、微服务与分布式

    集群: 同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事) 集群是指将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事情.如果一台死机,另一台可以起作用. 但是每台服 ...

  6. 2017微服务 mysql集群_微服务架构系列之Nacos集群搭建

    上回我们说到了<微服务架构系列之Nacos 配置核心概念>,这次我们讲讲Nacos 集群环境搭建. 集群模式跟我们平时进行扩容是一样的,可以通过 Nginx 转发到多个节点,如下图: 如果 ...

  7. 基SkyWalking实现对k8s集群中微服务的链路追踪

    1.思路如下: 1.sykwalking的安装配置(k8s集群部署配置) 2.sykwalking-agent探针的集成到微服务项目(是打成基础镜像里,然后指定参数(configMap中配置java项 ...

  8. DockerCompose快速部署分布式应用,集群部署微服务

    一.什么是DockerCompose? 该文件是一个文本文件,通过指令定义集群中的每个容器如何运行. 二.对比Docker命令: Compose文件:以下的文件就描述了一个项目,其中包含两个容器: 一 ...

  9. 服务连接不上nacos集群_Rust 微服务实践: 连接 rust , nacos , spring cloud

    说到微服务,一想到就是针对业务复杂度不断提高的应用衍生出来的框架,大多数应用场景是大型复杂的应用.那么微服务为个人开发者有什么好处呢?我认为有以下好处: 替换原先的包/库级别的代码复用和封装. 使用微 ...

最新文章

  1. 一道算法题,求更好的解法
  2. 什么是序列化?python pickle模块
  3. MySQL - 触发器
  4. 怎么彻底重装清空电脑_电脑开不了机怎么重装系统?不用送去维修店啦!
  5. 【动态规划】简单背包问题II
  6. 工作中99%能用到的git命令
  7. OLED电视出现烧屏问题 LG电子被判赔偿消费者16万澳元
  8. RecycleVier的简单实现
  9. redis 分布式锁流程图
  10. php 简繁体转换类库,简体中文转换为繁体中文的PHP函数
  11. 隐式人体表示生成虚拟视点+构建关节点的3D神经模型
  12. java,Hash冲突及解决办法
  13. php同步登录,UCenter单点登录/同步登录/同步登出实例_PHP教程
  14. 基于单片机超声波视力保护系统设计-基于51单片机8音键电子琴仿真设计-基于8086八路模拟信号采集均值显示系统设计-基于8086八路数据电压温度采集系统-基于8086波形发生器仿真设计【毕设课设分享】
  15. 简单的理解position与anchorPoint
  16. 2019该怎么学unity3D游戏开发?
  17. PC客户端(C/S架构)测试点整理
  18. 认真不一定会赢,但至少不会输
  19. 数据层面降低NLU误召-构造误召语料
  20. Linux 磁盘命令lsblk和blkid

热门文章

  1. c#将list集合转换为datatable的简单办法
  2. 分享Db4o的便捷封装类源码
  3. SharePoint 大局观(4)——从开发人员角度
  4. VS2019编译 当前最新版chromium
  5. c语言随机迷宫生成器,作为新手该如何快速上手 C++
  6. 深度学习——模型的压缩和加速
  7. sklearn——AdaBoost应用
  8. es6 数组合并_JavaScript学习笔记(十九)-- ES6
  9. Vue项目开发过程中解决跨域问题(vue.config.js结合axios)
  10. LeetCode 1868. 两个行程编码数组的积(双指针)