首页 > 其他分享 >面试遇到的,总结一下,欢迎指正:单体架构跟微服务架构的选择以及优缺点

面试遇到的,总结一下,欢迎指正:单体架构跟微服务架构的选择以及优缺点

时间:2023-06-07 12:01:34浏览次数:30  
标签:功能 服务 部署 优缺点 单体 指正 应用 架构

单体架构:一个war包或者jar包包含了应用的所有功能,称之为单体应用,单体架构中,所有功能集中在一个包中,功能集中、代码跟数据中心化,这是一种比较传统的架构风格,常见的ERP、CRM等系统都以单体架构的方式运行

  优点:

    1.架构简单:使用软件设计中的三层模型,即表示层,业务层,数据访问层

    2.技术单一:项目中不需要很复杂的技术栈

    3.部署成本低:可以部署在一台服务器上

    4.用人成本低:单个程序员可以完成业务接口到数据的整个流程

  缺点:

    1.可用性差:任何一个模块宕机会导致整个系统的宕机

    2.推展能力受限,无法按需伸缩:单体应用只能作为一个整体进行拓展,无法结合业务模块的特点进行伸缩

    3.阻碍技术创新:单体应用往往使用脱衣的技术平台或方案解决所有问题,团队成员必须使用相同的开发语言和架构,想要引入新的框架或技术平台非常困难

    4.部署速度逐渐变慢:随着代码的增加,构建和部署的时间也会增加,在单体应用中,每次功能的变更或缺陷的修复都会导致我们需要重新部署整个应用,全量部署的方式耗时长,影响范围大,风险高

    5.团队协作难度高,多人使用同一个功能,多人进行修改

微服务架构:微服务架构强调一个重点是“业务需要彻底地组件化和服务化”,原有的单个业务会拆分为多个可以独立开发、设计、运行的小应用,这些小应用之间通过服务完成交互和集成,适用与互联网时代,产品迭代周期更短

   优点:

    1.服务拆分粒度更细,遵循单一原则,有利于提高开发效率

    2.可采用http协议进行服务间的调用

    3.可以针对不同服务指定对应的优化方案

    4.微服务之间是松耦合的,灵活性更高

    5.多个团队之间独立开发,加快进入市场需求

    6.微服务是持续交付的巨大推动力,允许在频繁发布不同服务的同时保持系统其他服务的可用性和稳定性

  缺点:

    1.服务粒度小,增加运维开销和成本增加,多个微服务部署多个服务器,数据库

    2.测试难度大,微服务在一定程度上也会导致系统变得越来越复杂,增加集成测试的复杂度

    3.部署工作量大:微服务每个服务都有不同的实例,每个实力都需要配置、部署、监控

    4.作为分布式系统,微服务引入了复杂性和其他若干问题,例如网络延迟、容错性、消息序列化、不可靠网络、异步机制等问题

标签:功能,服务,部署,优缺点,单体,指正,应用,架构
From: https://www.cnblogs.com/M-wss/p/17462801.html

相关文章

  • 如何做架构设计? | 京东云技术团队
    也许您对软件设计存在一些疑惑,或者缺乏明确思路,那么本文将非常适合您。1、设计很重要我们可以看一下周边的事物,那些好的东西,他们并不会天然存在,都是被设计出来的,因此设计就是创造和改善事物的重要过程。设计的重要之处在于,最初的设计往往决定最终的结果,甚至决定着事物的长期的发展......
  • 探讨B/S与C/S架构的区别
    前言这几天听课,听到关于B/S架构和C/S架构的东西,颇有感触。边查阅资料边写了这篇随笔。C/S架构C/S架构是比较早期出现的一种系统设计架构。曾经出现过两层C/S和三层C/S架构。我们一般常见的以两层C/S架构为主。我们大家在使用计算机软件过程中基本上一定会遇见C/S架构,例如我们玩......
  • GRPC核心概念、架构和生命周期
    GRPC核心概念、架构和生命周期标签(空格分隔):go,grpc官网地址:https://grpc.io/docs/what-is-grpc/core-concepts/概述与许多RPC系统一样,gRPC基于定义服务的思想,指定可以使用其参数和返回类型远程调用的方法。默认情况下,gRPC使用协议缓冲区作为接口定义语言(IDL)来描述服务......
  • 软考高级软件架构师学习笔记一(软件架构设计)
    软件架构设计一、软件架构的概念⭐⭐⭐1、软件架构的概念需求分析-----------架构------------软件设计            (鸿沟)体系结构==架构架构设计就是需求分配,即是将满足需求的职责分配到组件上。2、软件架构建模结构模型:以架构的构件、连接件和其他概念来......
  • 几种分布式文件系统的优缺点归纳与总结
    1、常用的分布式文件系统有以下几种:1.HadoopHDFS:HadoopDistributedFileSystem(HDFS)是ApacheHadoop生态系统的一部分,用于存储和处理大数据。2.Ceph:Ceph是一个开源的分布式存储系统,提供了高可用性、高性能和可扩展性。3.GlusterFS:GlusterFS是一个开源的分布式文件系统,提供......
  • 架构师如何找到自己的商业模式
    作为一个架构师,必须要在有限的资源下最大化架构活动所带来的商业价值。对于任何一个架构活动而言,架构师的可用资源,包括商业成本、研发成本、时间成本、迁移成本等等,都是非常有限的。但架构活动就是要在这些限制条件之下,将商业价值最大化。商业价值(Businessvalue)呢,就是从现金收......
  • 微服务架构图
    微服务架构图  posted@ 2020-11-1510:27  朱志勇 阅读(8526) 评论(0)  编辑  收藏  举报 SpringCloud微服务总体架构图Springcloud作为当下主流的微服务框架,让我们实现微服务架构简单快捷,Springcloud中各个组件在微服务架构中扮演的角色如图所示。......
  • EasyNTS上云网关现已支持Linux ARM架构客户端
    EasyNTS上云网关管理平台可集中管理所有接入的EasyNTS上云网关设备,实现接入与管控、动态组网、远程运维、文件传输、远程指令调用等功能,从终端到云端,形成了一整套的上云网关解决方案,极大地解决了现场无固定IP、端口不开放、系统权限不开放等问题。在之前的EasyNTS版本中,后台管理页......
  • 跨境电商系统的实现原理与技术架构分析
    跨境电商系统是一个综合性的软件系统,它通过整合多个平台的数据和服务,提供了全面的跨境电商经营解决方案。本文将介绍跨境电商系统的实现原理与技术架构。一、实现原理跨境电商系统实现的基本原理是将海外商品导入国内市场,实现商品销售及物流配送。常见的跨境电商平台包括淘宝、天猫......
  • 9.4. 分布式与微服务架构
    在本章节中,我们将介绍分布式系统和微服务架构的基本概念。分布式系统解决了单体应用面临的可扩展性、高可用性等问题,而微服务架构进一步提升了系统的可维护性和灵活性。9.4.1.分布式系统基本概念分布式系统是由多个独立的计算节点组成的系统,这些节点通过网络进行通信和协作。......