微服务特点

2023-11-13

单体架构与微服务的区别:

单体架构

用一个归档包( war )解决所有问题的方法论			适合:简单小型 应用

缺点:

  • 部署慢 效率低
  • 无法按需扩展

微服务特点

  • 每个微服务可独立运行在自己的进程里
    每个微服务都是一个tomcat

  • 一系列独立运行的微服务共同构建整个系统
    每个微服务都能独立运行,相互协作 每个微服务为独立的业务开发,只关注某个特定的功能

  • 全自动机制(CI/CD) 异构(不同语言与数据存储)

  • 轻量的通信机制

核心思想:分而治之

微服务使用场景:

  • 大型复杂应用
  • 高并发、高负载
  • 快速迭代

微服务拆分方法:

  • Demain Driven Design 简称:ddd
    书籍讲解: 领域驱动设计(偏理论)
    实现领域驱动设计(理论与实践)
    领域驱动设计(速成) 推荐
  • 面向对象 拆分
    By name 状态 拆分
    By verb 行为 拆分

拆分一个适合的微服务

  • 按照职责划分
  • 按照通用性划分
  • 微服务粒度 --相对合理 良好地满足业务需求
  • 增量迭代
    每个微服务保持相对独立,修改过的微服务不设计其他微服务的改动
  • 持续进化
    语言的更换与技术的更替
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微服务特点 的相关文章

随机推荐

  • TexStudio编译报错“Critical Package xeCJK Error: The xeCJK package requires XeTeX to function. ..._criti”

    1 问题描述 今天在学习博士论文的模板时 出现了一个错误 Critical Package xeCJK Error The xeCJK package requires XeTeX to function criti 我们首先来看看其含义
  • 牛客 密码截取

    include
  • 调研一台电脑连接两个键盘如何区分遇到的问题及解决方法

    1 查找windows API 手册 调用GetRawInputData函数 可以获得按下的键值VKey以及唯一的句柄hDevice 但是hDevice并不能直观的对应不同键盘而且每当拔下键盘 重新插入的时候hDevice会发生变化 2 继
  • Lombok 的 @EqualsAndHashCode(callSuper = false) 的使用

    Lombok的 EqualsAndHashCode
  • 李浩: 再谈 volatile 关键字

    本文内容 volatile关键字的含义 它与barrier 和编译乱序的关系 以及内核里面READ ONCE WRITE ONCE 的实现原理 作者简介 李浩 就职于南京富士通南大软件 熟悉 x86 架构 对内存和文件系统有些研究 最常见的
  • 标准输出,标准错误输出

    标准输出 标准错误输出以及重定向输出 2012 07 24 14 12 46 转载 标签 杂谈 Linux Shell 环境中支持输入输出重定向 用符号 lt 和 gt 来表示 0 1和2分别表示标准输入 标准输出和标准错误信息输出 可以用
  • blockchain 区块链200行代码:在JavaScript实现的一个简单的例子

    了解blockchain的概念很简单 区块链 交易链块 它是分布式的 即不是放置在同一台机器上 不同的网络设备上的 数据库支持主办记录日益增长的名单 但是 这也是容易混淆blockchain与我们试图帮他解决了目标 在人们心中的那一刻 这个
  • STM32 DMA 学习笔记(二)

    一 常用DMA库函数 1 DMA初始化 包括通道和参数配置 void DMA Init DMA Channel TypeDef DMAy Channelx DMA InitTypeDef DMA InitStruct 下面就是结构体参数 t
  • 从AT32F403ARCT6替换成MH2103ARPT6,如何在KEIL软件上通过CMSIS DAP下载程序

    从AT32F403ARCT6替换成MH2103ARPT6 如何在KEIL软件上通过CMSIS DAP下载程序 1 点击魔术棒 进入设置 2 点击Device选项卡 选择芯片为ARM ARM Cotex M3 ARMCM3 3 点击Targe
  • vue-cropper(图片裁剪插件)

    描述 vue cropper是一个非常好用的图片裁剪插件 可以拿到裁剪后图片的base64地址或者blob地址 一 安装 npm 安装 npm install vue cropper npm安装或yarn安装 根据喜好2选一即可 yarn
  • java使用easyExcel读写excel

    前言 相信现在很多搞后端的同学大部分做的都是后台管理系统 那么管理系统就肯定免不了 Excel 的导出导入功能 今天我们就来介绍一下 Java 如何实现 Excel 的导入导出功能 Java领域解析 生成Excel比较有名的框架有Apach
  • SpringMVC 中的数据绑定如何使用 @ModelAttribute 注解

    SpringMVC 中的数据绑定如何使用 ModelAttribute 注解 引言 SpringMVC 是一个流行的 Java Web 框架 它具有强大的数据绑定功能 可以将 HTTP 请求参数绑定到控制器方法的参数或对象中 其中 Mode
  • WPF加载大量的图片显示

    一 问题 如何在WPF中加载大批量数据 并且不会阻塞UI线程 尤其是加载大量图片时 二 方案 大致情况是 数据源集合是一个 ObservableCollection
  • Shell脚本的变量

    目录 1 Shell脚本变量简介 2 变量的作用 3 变量的类型 4 自定义变量 4 1自定义变量命名要求 4 2定义与查看变量 4 3赋值时使用的引号 4 4从键盘输入内容为变量赋值 4 5 变量的运算 4 5 1整数变量的运算 4 5
  • Systemverilog中的队列操作

    systemverilog中的队列操作十分简单 只需要调用函数即可 Exercise platform Questa Sim 10 1b module queue int q function void sep for int i 0 i
  • 【lucky-canvas插件】在Vue3实现大转盘&九宫格&老虎机抽奖

    目录 前言 一 lucky canvas介绍 二 lucky canvas使用 Vue3 1 安装 2 注册 3 使用 三 九宫格为例的具体使用 1 组件使用 2 常用配置 blocks 背景 prizes 奖品 buttons 抽奖按钮
  • C++文件读取的四种方式

    C 可以根据不同的目的来选取文件的读取方式 目前为止学习了C 中的四种文件读取方式 C 文件读取的一般步骤 1 包含头文件 include
  • 第2章-Java基本语法

    Java基础知识图解 1 关键字与保留字 关键字 Java保留字 现有Java版本尚未使用 但以后版本可能会作为关键字使用 自己命名标识符时要避免使用这些保留字 goto const 2 标识符 Java 对各种变量 方法和类等要素命名时使
  • 计算机原码,反码,补码,以及之间的转换 ,计算机底层为什么要用二进制反码和二进制补码

    1 为什么要使用二进制 首先我们需要知道 计算机底层的存储方式 所有数字在计算机底层都以二进制形式存在 二进制数据的存储方式 所有的数值 不管正负 底层都以补码的方式存储 二进制是机器语言 由于计算机并不能像人一样计算与思考 而使用二进制
  • 微服务特点

    单体架构与微服务的区别 单体架构 用一个归档包 war 解决所有问题的方法论 适合 简单小型 应用 缺点 部署慢 效率低 无法按需扩展 微服务特点 每个微服务可独立运行在自己的进程里 每个微服务都是一个tomcat 一系列独立运行的微服务共