什么是项目的程序架构 项目架构怎么描述 您所在的位置:网站首页 文章框架怎么描述 什么是项目的程序架构 项目架构怎么描述

什么是项目的程序架构 项目架构怎么描述

2024-07-16 17:28| 来源: 网络整理| 查看: 265

本文章写的项目规范以及架构都是我在公司所体会到的,目前该架构师已经去了蚂蚁金服.羡慕大佬;

 

1:项目架构介绍

 

1.1:公司采用小前端+大中台+后台的模式,来快速适应业务上的快速变化.

 什么是中台?

我个人的理解为.将所有项目的共同业务分离开来,然后把共同的业务塞进同一个微服务中;

列如:一个公司有多个项目, 每个项目呢都会有会员模块. 订单模块.等相同的业务. 把所有项目的会员模块都由一个微服务来提供接口,订单模块由一个微服务提供接口.把这些微服务汇总起来呢,就是整个公司的中台.也就是整个系统的支撑核心;

什么是前端?

前端主要是指让用户能直观感受到的页面. 这个就是传统意义上的前后端分离.前端由专业人员去开发.专业的人做专业的事嘛.公司主要采用的前端技术为VUE;

什么是后台?

后台我的理解为:传统意义上项目只有前台和后台.传统的后台包含了(所有接口,服务,数据库,中间件.负载均衡这些) ,而新的架构中,则将业务架构分离为中台. 一些基础的服务分离为后台(redis,mq,nacos,mysql等等)来为中台提供强大的业务支撑;

下图为系统的架构图,目前我的理解是这样的.

什么是项目的程序架构 项目架构怎么描述_什么是项目的程序架构

1.2系统之间的调用关系

前端->中台->后台: 原则上只能上层调用下层接口.调用的时候采用HTTP协议.如果有特殊情况,需要获取上层的接口,就采用异步的方式调用

前端调中台的时候 所有请求都通过网关. 由网关进行判断下一步调用哪个服务.

中台之间又分了很多个独立的项目比如商户模板,又分为商户service, 商户api. 这个就需要对外只提供商户api的接口.让商品api调用商户service.

中台之间一些基础性的微服务.比如 bascie,dependencies,swagger.这些业务模块通用的基础微服务调用的时候也要注意

目前我们公司采用.OpenFegin来进行接口之间的调用. 采用bascie微服务作为接受数据的实体类jar包. 采用fegin调用的数据都要引入basic包的类作为DTO

注意:项目中由于微服务众多,如果不注重规范.调用的时候.很容易会发生循坏依赖问题.

 

1.3模块内部的调用关系

传统意义上的调用:

通常是接口暴露在Controller层. Controller内进行页面跳转,访问控制的处理.然后注入Service.调用Service方法.

 Service内进行业务逻辑的处理,然后注入Dao. 调用Dao方法.

Dao接口对应Mapper.xml文件  一一对应sql语句

我们项目的调用:

而我们项目在开发的时候,则是又添加了一层.DaoService层.  

我们是接口暴露在Controller层. Controller内进行页面跳转,访问控制的处理.然后注入Service.  调用Service方法.

 Service内进行业务逻辑的处理,然后注入DaoService. 调用DaoService方法.

DaoService里面实现与数据库有关的操作(比如把DTO对象转换成数据库Bean) ..然后注入Dao接口.调用Dao方法

Dao接口对应Mapper.xml文件  一一对应sql语句

 

 

以上都是个人的理解.如果有不对的地方,请多多指教.

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有