浅谈集群,分布式和微服务的区别

news/2024/11/13 4:15:50/

一.概念

集群:

在这里插入图片描述

分布式:

在这里插入图片描述

微服务:

在这里插入图片描述

二.区别

集群是多台服务器一起处理同一个业务,可以使用负载均衡使得每一个服务器的负载相对平衡,集群中的一台服务器出现问题,该服务器所负责的业务可以由其他的服务器代为处理。直白一点:就是只有一个项目,只有一个war(jar)或节点部署在多台机器;集群是一种物理形态。分布式上的节点都能看作是一个集群。集群不一定是分布式的

分布式是把一个业务拆分成多个子业务,给不同的服务器去处理,这里的服务器可以是单个的服务器,也可以是多个服务器集群,一旦处理该业务的服务器出现问题,那么该业务就无法实现了.分布式是一种工作方式.就是把所有的功能、模块拆分成不同的子项目,部署在多台不同的服务器上,这些子项目相互协作共同对外提供服务。

微服务是把一个业务中的各种功能模块进行拆分,给不同的服务去处理,每个服务只处理一个功能模块,该服务可以是单个服务器也可以是多个服务器集群,每个服务之间都是低耦合的.微服务是一种架构风格.微服务是系统架构上的一种设计风格,主旨是将一个原本独立的系统拆分成对各小型的服务,这些小型服务都可以独自在进程中运行,服务之间通过基于HTTP的RESTFUL API进行通信协助。(由于各个独立的服务模块之间使用的是基于HTTP的JSON作为数据通信协作的基础,所以微服务中的模块开发时可以使用不同的语言)

三.分布式与集群的区别

分布式是将同一个业务拆分成不同的子模块放在不同的服务器上执行。而集群是将多个服务器集成到一起,实现同一个业务。分布式上的节点都能看作是一个集群。集群不一定是分布式的,不是分布式的集群有可能是就是系统把所有的功能、模块都集中到一个项目中,该项目部署在多台服务器上。从窄意上理解也分布式跟集群差不多。但是它的组织比较松散,不像集群有一个组织性,一台服务器垮了,其它的服务器可以顶上来。分布式的每一个节点都完成不同的业务,一个节点垮了那这个业务就不可访问了。

四.分布式与微服务的区别

分布式,是将一个巨大的系统划分成多个小模块,这点跟微服务是一样的,都是将系统进行拆分,部署到不同的机器上。

本质区别:目标不同!

分布式目标:访问量太大一台服务器承受不了,或者成本问题,不得不使用多台服务器来完成服务的部署!

微服务目标:只是将各个模块拆分开来,不会相互受影响,比如模块的升级或者出现BUG或者重构等等等等都不要影响到其他模块。

注意:
微服务不一定是分布式,因为微服务可以在一台机器上部署。
分布式不一定是微服务:假设有一个很大应用,拆分成几个小应用,但还是很庞大,即便使用了分布式,但其依旧不算是微服务,因为微服务的核心要素是微小,简单来说就是这个应用还不够小。

分布式不等于微服务,两者互不包含互相,但两者有交集。
在这里插入图片描述


http://www.ppmy.cn/news/301213.html

相关文章

基于FPGA的ROM-VGA图像处理(老师好帅系列)

如出现看不懂,在评论区留下邮箱,直接发工程,希望大家都能学好FPGA 一.top层 module vga_rom_pic(input sys_clk, //系统时钟input sys_rst_n, //复位信号//VGA接口 output …

docker安装torna1.16.2

一、docker拉取torna镜像 docker pull tanghc2020/torna:1.16.2 二、创建映射容器的文件目录 mkdir -p -m 777 /mydata/torna/config 三、导入mysql数据库,执行torna.sql CREATE DATABASE /*!32312 IF NOT EXISTS*/torna /*!40100 DEFAULT CHARACTER SET utf8m…

使用Docker虚拟化出一个Centos7操作系统(140、141机器上执行)

1.使用Docker虚拟化出一个Centos7操作系统(140、141机器上执行) Docker官网:https://docs.docker.com/ Docker文档:https://docs.docker.com/engine/reference/commandline/network_rm/ 1.1 Docker安装 1.1.1 支持的操作系统 …

docker虚拟化技术文档(自己总结最全版本)

目录 1 使用Docker虚拟化出一个Centos7操作系统(140、141机器上执行) 2 1.1 Docker安装 3 1.1.1 支持的操作系统 3 1.1.2 前提条件 3 1.1.3 使用yum安装(CentOS7下) 3 1.1.4 使用脚本安装Docker(Centos7下&#xff09…

Nginx安装教程

前言: 同步文章图片有问题想看带有图片版的请移步: https://www.yuque.com/docs/share/3fbd7d5a-639c-4ca8-8500-00071b7cb23d?#BvpWF 本篇文章涉及nginx的安装,目前分为两个版本linux安装和win10的安装 其中nginx的安装涉及到无root权限和…

k8s容器内的东西复制出来_Docker从入门到掉坑(五):继续挖一挖 k8s

在之前的几篇文章中,主要还是讲解了关于简单的docker容器该如何进行管理和操作及k8s上手避坑,在接下来的这篇文章开始,我们将继续对k8s模块的学习 pod是啥 在k8s里面,有很多新的技术概念,其中有一个东西被称之为pod。p…

前端知识问答:深入了解CSS

Q: 什么是CSS? A: CSS(Cascading Style Sheets)是一种样式表语言,用于描述网页中元素的外观和布局。它可以控制HTML文档中几乎所有的页面元素,包括字体、颜色、大小、背景、边框等。 Q: CSS的选择器有哪些&#xff1…

ASCH-CLI 说明文档

ASCH-CLI说明 0 asch-cli简介 以下内容引用自 Asch白皮书 asch-cli是Asch系统提供了一个命令行工具,只需要根据提示输入一些配置项,就可以快速的建立一个侧链,并可在侧链上开发任意类型的应用。其次,系统还提供了一系列的 api 帮助用户构建复杂的智能合约应用,这些 api …