集中式架构与分布式概念,大白话解释

2023-10-26

3分钟读懂系统架构演变 了解时下最火的微服务概念

本人将从大到小给你讲授系统架构的演变(此处的大小不是对比项目的大小,而是单个模块的大小)

集中式架构 → 垂直拆分→ 分布式 → (服务治理) → 微服务

咱们先从最大的来:

集中式架构: 用我的话来讲它最大最笨重了,为什么说它笨重呢,因为它的功能啊,服务啊,所有的代码都写进了一个模块里,如果只是一个小的系统只有几百号人使用的,这样写在一起其实也是很方便的,但是当你写一个比较大的系统时,你的功能块多了,代码量多了 在全部都写在一起,耦合度非常的高,一旦某个地方出了错 整个系统全部都宕机,当你需要调错的时候,因为所有的代码都写在一起,你调起来也不方便。

垂直拆分: 与上一个集中式架构不同的是,垂直拆分将系统中的服务单独的拆分了出来形成一个单独的模块,上图:如图所示,垂直拆分呢就是将独立的服务给单拉出来做成一个独立的系统,这样的玩法不但解决了流量分单,并发访问的问题,还可以针对不同的模块进行优化,方便你在添加新的业务,负载均衡,容错率也提高了许多

在这里插入图片描述

分布式: 就是在上一个垂直拆分的拆分下 进一步的对代码进行简化拆分,打个比方,上一个垂直拆分的两个服务模块,一个用户前端,一个后台管理系统,他们的登录都会用到手机号发短信的这段代码,而在垂直拆分中的做法就是每个模块中都有这么一段代码,而分布式就是将重复写的这段代码再细分出来,写成一个单独发短信的模块,别的模块需要用的发短信就可以直接调用这个模块就行,在垂直拆分的基础上更加优化了代码

服务治理: 当前两个拆分细化代码越来越多,到达一定程度的时候,这个时候的系统的模块之间各种相互调用,关系错综复杂,容量的评估以及小服务对于资源的浪费问题也暴露了出来,这个时候你就需要一个服务中心来帮助你管理,就像是你的一个管家,具体点击最下面的链接

微服务: 在分布式的基础上继续往下分,例如一个用户管理就可以作为一个服务。每个服务虽小,但“五脏俱全”。

如果这篇博客帮助到了你,请关注我,我会不定时的分享一些干货的

更加详细: 更具体点可以去看猪精的.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

集中式架构与分布式概念,大白话解释 的相关文章

随机推荐

  • 读书笔记 - Direct93D游戏程序设计入门

    这本书是directx入门很好的教材 门槛低 可以了解directx很多基本的东西 可以作为跳板 看完以后去学习更高级的东西 比如directx自带的sample 以前看过这本书 现在再看一遍 主要目的是熟悉dx基本绘制知识 书中主要包含到
  • 2012-04-26 14:42 PROFILE各种选项

    2012 04 26 14 42 PROFILE各种选项 1 用户创建语句选项 引发的血案 如果大家细心的话 在创建用户的语法中有这么一个选项 PROFILE profile 下面是 11gR2官方文档中关于创建用户的语法描述 较之的文档可
  • 漏洞补丁:漏洞命名(CVE和CNNVD)及补丁查找

    摘要 以前一个项目 最近收到一份脆弱性分析报告 漏洞报告 通过这份报告小技能 1 记录一下报告中几个重要编号说明和如何下载对应的补丁文件 一 名称介绍 截图为报告的部分内容 里面包含了编号 描述 解决地址 这里对 CVE编号 CVSS分值
  • redis集群的维护(redis-cli --cluster 命令用法)

    目录 前言 1 cluster create 创建集群 2 cluster check 检查集群 3 cluster info 查看集群 4 cluster fix 修复集群 5 cluster rehard 迁移槽位 6 cluster
  • Windows10下安装Carla及基本操作

    1 Carla介绍 一款用于自动驾驶研究的开源模拟器 2 安装依赖 首先我们需要确保电脑已安装Python3 X 在命令行中输入 pip install user pygame numpy 安装pygame和numpy模块 3 下载ZIP文
  • 回归预测

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 内容介绍 采用 DNN 深度神经网络作为模型训练架构 具体如图 3 所示 模型输入 将网络训练
  • WebAssembly学习(三)——初步读取本地文件

    WebAssembly学习 三 初步读取本地文件 在之前的学习记录里面 已经实现了简单的hello word打印 在这一步学习如何利用SDL库打印图案以及加载文件 原文参考Emscripten的官网 利用SDL库打印图案 SDL库 SDL是
  • 【动态规划】背包问题(详细总结,很全)

    动态规划 一 背包问题 1 背包问题总结 1 动规四部曲 2 递推公式总结 3 遍历顺序总结 2 01背包 1 二维dp数组 代码实现 2 一维dp数组 代码实现 3 完全背包 代码实现 4 多重背包 代码实现 一 背包问题 1 背包问题总
  • Docker查看容器挂载目录

    只显示Docker容器挂载目录信息 docker inspect format Config Volumes 369a1376f78c 显示Docker容器和物理主机挂载目录信息 方法一 docker inspect f Mounts 36
  • AttributeError: module ‘faiss‘ has no attribute ‘StandardGpuResources‘

    pip install faiss gpu pip install faiss cpu 若安装了GPU版本的Faiss 仍然报以下错误 module faiss has no attribute StandardGpuResources m
  • 自动化测试只会用工具就行?真不是这样

    软件测试是对项目研发过程的产物 文档 代码等 进行审查 保障产品质量的过程 我们可以通过手工测试 自动化测试 工具扫描等方法完成这个任务 其中 自动化测试是当前重要的一种测试方法 具有响应速度快 稳定性高 人工干预少的特点 很好地契合了高响
  • 使用docker安装分布式hadoop(阿里hadoop镜像)

    前面使用了docker自带的镜像安装 那么这篇使用阿里镜像搭建hadoop集群 也参考了网上部分播客 但是多多少少有问题 我这篇播客是全部经过实践测试成功跑起来的 1 安装hadoop镜像 1 拉取镜像 拉取阿里的hadoop镜像 dock
  • OpenGL的视图变换

    OpenGL的视图变换 OpenGL 中场景进行变换 要经历一些过程 视图变换 模型变换 投影变换 然后到了窗口坐标 这几个变换开始的时候把我搞很混 这几天整理一下 一般书上把这几个变换用照相机类比 其实每个变换都是产生着一个 4x4 矩阵
  • Android DataBinding错误记录

  • readelf nm objdump 命令详解

    讲解上面三条命令之前要先了解一下ELF格式文件https blog csdn net u014608280 article details 81983055 一 readelf readelf命令可以查看ELF文件的详细信息 选项 a al
  • windows系统下设置mtu值的方法

    说起 MTU 值 可能许多朋友连听都没听说过 简单来说 我们上网时所进行的操作 都是通过传输一个又一个 数据包 来实现的 而 MTU 值就是用来设定可传输数据包的最大尺寸的 很显然 MTU 值设置得过大或过小 都会在一定程度上影响我们上网的
  • AWS EC2常见问题

    一般性问题 问 什么是 Amazon Elastic Compute Cloud Amazon EC2 Amazon Elastic Compute Cloud Amazon EC2 是一种 Web 服务 可在云中提供大小可调的计算容量 该
  • centos docker 安装mysql方法

    直接docker run mysql 会出错 如下提示 You need to specify one of MYSQL ROOT PASSWORD MYSQL ALLOW EMPTY PASSWORD and MYSQL RANDOM R
  • 电脑老是自动安装流氓软件的解决办法(详解)

    前言 我们老是被一些垃圾软件搞心态 那么这个时候怎么办呢 1 打开链接https free lanzoux com b0cpu1guf 2 点击下载合适版本 在这里我只演示以下这种的 3 解压之后可以看到以下界面 点击运行程序exe 扫描完
  • 集中式架构与分布式概念,大白话解释

    3分钟读懂系统架构演变 了解时下最火的微服务概念 本人将从大到小给你讲授系统架构的演变 此处的大小不是对比项目的大小 而是单个模块的大小 集中式架构 垂直拆分 分布式 服务治理 微服务 咱们先从最大的来 集中式架构 用我的话来讲它最大最笨重