首页 > 其他分享 >集群、分布式、微服务概念和区别

集群、分布式、微服务概念和区别

时间:2023-08-20 22:13:17浏览次数:43  
标签:服务 区别 业务 任务 集群 服务器 分布式

概念:
集群是个物理形态,分布式是个工作方式。
1.分布式:一个业务分拆多个子业务,部署在不同的服务器上
2.集群:同一个业务,部署在多个服务器上
分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个集群,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
例如:如果一个任务由 10 个子任务组成,每个子任务单独执行需 1 小时,则在一台服务器上执行该任务需 10 小时。
采用分布式方案,提供 10 台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是 Hadoop 的 Map/Reduce 分布式计算模型)
而采用集群方案,同样提供 10 台服务器,每台服务器都能独立处理这个任务。假设有 10 个任务同时到达,10 个服务器将同时工作,1 小时后,10 个任务同时完成,这样,整体来看,还是 1 小时内完成一个任务!
好的设计应该是分布式和集群的结合,先分布式再集群,具体实现就是业务拆分成很多子业务,然后针对每个子业务进行集群部署,这样每个子业务如果出了问题,整个系统完全不会受影响。
另外,还有一个概念和分布式比较相似,那就是微服务。
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

区别:
1.分布式

将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。
上面:service A、B、C、D 分别是业务组件,通过API Geteway进行业务访问。
注:分布式需要做好事务管理。
分布式事务可参考: 微服务架构的分布式事务解决方案

2.集群模式

集群模式是不同服务器部署同一套服务对外访问,实现服务的负载均衡。区别集群的方式是根据部署多台服务器业务是否相同。
注:集群模式需要做好session共享,确保在不同服务器切换的过程中不会因为没有获取到session而中止退出服务。
一般配置Nginx的负载容器实现:静态资源缓存、Session共享可以附带实现,Nginx支持5000个并发量。

分布式是否属于微服务?
答案是肯定的。 微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。

微服务架构
微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

分布式和微服的 架构很相似,只是部署的方式不一样而已。

标签:服务,区别,业务,任务,集群,服务器,分布式
From: https://www.cnblogs.com/wsl-hitsz/p/17644716.html

相关文章

  • 深入探索Elasticsearch的分布式搜索与性能优化
    在后端开发领域,Elasticsearch作为一款强大的分布式搜索与分析引擎,被广泛应用于构建高性能的搜索和数据分析系统。本文将深入探讨Elasticsearch的分布式特性、搜索原理以及性能优化策略。通过结合实际代码示例,为读者提供关于Elasticsearch的深奥知识和实用方法。1.Elasticsearch概......
  • 分布式布隆过滤器
    1.分布式布隆过滤器的价值集群环境太浪费系统资源、集群环境也不容易对布隆过滤器进行维护,所以采用Redisson框架的分布式布隆过滤器。2.Redisson提供的分布式布隆过滤器的使用//获取一个分布式的布隆过滤器(RedissonClient)RBloomFilter<V>getBloomFilter(Stringname);......
  • Hadoop学习笔记、知识点搭建速过、包含Hadoop集群搭建、HDFS、IDE操作hadoop,DFSShell
    大数据概述......
  • 如何快速在 Kubernetes 集群中新建用户
    如何快速在Kubernetes集群中新建用户Se7en 奇妙的Linux世界 2023-08-1911:59 发表于重庆收录于合集#Kubernetes274个#云原生261个#Docker197个#程序员421个公众号关注 「奇妙的Linux世界」设为「星标」,每天带你玩转Linux! Kubernetes中的用户K8S中......
  • 云平台的详细讲解与区别介绍
    引言:云平台是一种基于云计算技术的服务平台,它提供了灵活、可扩展和高效的计算资源,帮助用户实现数字化转型和业务发展。本文将详细讲解云平台的概念、特点,同时介绍几个知名云平台(AmazonWebServices、MicrosoftAzure、GoogleCloudPlatform)之间的区别,并提供相应的代码演示,以帮助......
  • 使用 DcokerCompose 搭建 mongodb 副本集群
    前面我们搭建了mongodb单机环境,但是在实际生产环境中,为了高可用,肯定需要搭建mongodb集群。mongodb集群主要分为两种:副本集群和分片集群。其中副本集群搭建容易,是生产环境中使用最多的集群,因此很有必要掌握。副本集群比较类似于mysql的主从复制,一主多从,每个节点的数据都是......
  • keepalived+LVS实现高可用性集群
    一、keepalived+LVS-DR实现高可用负载均衡当LVS负载均衡的主服务器出现故障时,keepalived会及时切换到备份服务器;同时会检测后端真实服务器是否存在故障无法访问,keepalived检测到该设备不可用时就会在集群的列表中删除该服务器节点,当服务器恢复时会再次自动添加进来。以此来实现集群......
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记33_混沌工程
    1. 康威定律1.1. 梅尔文·康威1.1.1. MelvinConway1.1.2. 1968年1.1.3. 在设计系统时,组织受制于其自身的沟通结构,这使得它设计的系统结构与沟通结构相一致。1.1.3.1. 社会学现象1.2. 要在系统内部或系统之间构建接口,两个人必须以某种方式沟通有关该接口的规范1.2.......
  • 以二进制文件安装K8S之部署etcd高可用集群
    概述前提条件:已经准备好CA根证书(etcd在制作CA证书时需要CA根证书),并且把CA根证书文件ca.key和ca.crt拷贝到3个etcd节点的/etc/kubernetes/pki目录下。3台主机的IP地址分别为192.168.3.135、192.168.3.136、192.168.3.137。要安装的etcd版本:v3.4.13-linux-amd64。安装etcd下载e......
  • 以二进制文件安装K8S之部署Master高可用集群
    如下以二进制文件方式部署安全的KubernetesMaster高可用集群,具体步骤如下:1.下载Kubernetes服务的二进制文件2.部署kube-apiserver服务3.创建客户端CA证书4.创建客户端连接kube-apiserver服务所需的kubeconfig配置文件5.部署kube-controller-manager服务6.部署kube-schedule......