栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

常见架构对比

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

常见架构对比

1、单体架构

概念:所有的模块集中在一个项目中,打包到一起并放在一个web容器中运行。

适合场景:项目初创期、业务简单且响应要求高

优点:开发、测试、部署运维简单,响应快

缺点:

        1、资源没法隔离

        2、部署周期长

        3、可靠性低所有模块都集中在一起导致核心与非核心业务出现问题相互影响

        4、没法单模块水平拓展

图1:

2、集群架构

概念:同一个业务,部署在多个服务器上;

适合场景:业务流程简单且需要增强流量处理能力

优点:吞吐并发能力强突破单机性能瓶颈、高可用避免单点故障、伸缩性强

缺点:

        1、需要负载均衡

        2、session失效问题

        3、缓存一致性问题

        4、定时任务执行问题

图2:

3、垂直架构

概念:根据业务把项目垂直切割成多个项目。简单理解为分层。

适合场景:业务垂直流程长,如数据爬取、清洗和应用

优点:纵向拓展性高

缺点:

                1、需要负载均衡

                2、服务之间相互调用,如果某个服务的端口或者ip地址发生改变,调用的系统得手动改变

                3、需要接口调用规范

图3:

4、SOA架构(Service Oriented Architecture,面向服务的架构)

概念:以业务系统为单位的服务,不同服务的分布式架构

适合场景:单个业务系统较为简单,需要做分布式,

优点:可用性高、服务之间耦合度低、可复用

缺点:

        1、调用链路长

        2、服务接口数量不宜控制

        3、粒度控制复杂

图4:

5、微服务架构

概念:以业务系统模块为单位的服务,不同服务的分布式架构。

适合场景:单个业务系统已经较为复杂且单个模块已有一定复杂度,需要拆分模块为独立服务

优点:

        1、服务可单独团队负责,适合敏捷开发

        2、复用性高

        3、容易实现开发运维一体化

缺点:

        1、服务数量多,管理难度较高

        2、服务之间响应速度不如单体

        3、对监控运维问题定位有较高要求

        4、需要注册和配置中心

图5:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号