乐鱼电竞

  • 教育行业A股IPO第一股(股票代码 003032)

    全国咨询/投诉热线:400-618-4000

    什么是架构?Java可选用的技术架构类型有哪些?

    更新时间:2023年07月10日13时46分 来源:乐鱼电竞 浏览次数:

    架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

    Java企业级的应用根据业务的复杂程度,通常使用的系统架构有应用架构、垂直应用架构、面向服务的架构(Service-Oriented Architecture,SOA)、微服务架构等。

    项目架构的选择在项目准备过程中占据着重要的位置,除此之外技术架构的选择也是项目准备过程中必不可少的一个环节,接下来将针对项目架构和技术架构的选择进行详细讲解。

    单体应用架构

    单体应用架构是把所有业务场景的表示层、业务逻辑层和数据访问层放在一个工程中,经过编译打包,部署在一台服务器上。

    1688624746400_单体架构.png

    单体应用架构开发的进销存系统

    优点:项目架构简单,技术结构单六,前期用人成本低,适合小型系统的开发。

    缺点:随着业务复杂度的增加,功能越来越多,代码量越来越大,会导致代码可读性、可维护性和可扩展性下降。由于系统过大且关联较多,任何一个ug都有可能导致整个系统宕机。

    垂直应用架构

    垂直应用架构将单体应用拆分成若干个独立的小应用,每个小应用独立的部署到不同的服务器上,以提升效率。

    1688624887248_进销存系统.png

    垂直应用架构开发的进销存系统

    优点:通过垂直拆分实现流量分担,减轻服务器压力;可以针对不同的应用进行优化,方便水平扩展,容错率提高。

    缺点:当垂直应用越多,应用之间可能发生相互调用,不同应用之间可能出现数据、代码、功能冗余。

    SOA

    SOA是面向服务的架构,它将应用程序的不同功能单元(简称服务)进行拆分,并通过这些服务之间定义的接口和协议将其联系起来。

    1688625413535_soa.png

    SOA开发的进销存系统

    优点:将公共的功能抽取为服务,提高开发效率;各个服务之间耦合度低,可读性和可维护性比较好。

    缺点:抽取服务的粒度较大,服务提供方与调用方接口耦合度较高。

    微服务架构

    微服务架构是SOA架构的升级,每一个服务就是一个独立的部署单元,服务之间的耦合性很低。

    1688625616479_微服务.png

    微服务架构开发的进销存系统

    优点:开发模式更加灵活;微服务的.独立打包、部署和升级,使小团队的交付周期将缩短,运维成本下降。

    缺点:对技术要求较高;微服务过多会造成服务管理成本提高,不利于系统维护,服务拆分粒度过细也会导致、系统变得凌乱和笨重。

    在开发时通常会根据不同的需求将项目拆分为多个层次处理,开发者可以根据不同的需求由其相对应的技术栈提供解决方案。

    0 分享到:
    和我们在线交谈!
    【网站地图】【sitemap】