• 浅谈项目结构spring cloud项目架构,各种项目项目架构分类方法,项目目录结构,项目模块分类方法,微服务项目架构方法


    微服务项目分类方法,项目架构分类方法,项目目录结构,项目模块分类方法

    当然如果不是微服务或不是java项目一样可以这样分,只是不需要用springCloud的这几个模块

    1.所有模块只有一个,如果小型项目功能模块不多的知用微服务可以用这种方式

    myProject.parent       父项目
        springCloud.eureka      注册中心
        springCloud.config      配置中心
        springCloud.zuul        路由网关
        myProject.common        公共类库包
        myProject.dao           DAO层
        myProject.service       Service层
        myProject.webUI         系统webUI(系统所有web界面都放在一起,这个模块可以用vue/npm也可以用thymeleaf)
        myProject.webAPI        系统WebAPI(所有API也都在一起)
        myProject.appAPI        系统给APP访问的API

    2.适合中型项目,所有webUI模块只有一个,但各功能模块的API用不同的微服务模块,因为UI界面出问题几率很小,所以只在API放面进行微服务隔离,就算一个API有问题也不会影响其他API

    myProject.parent
        springCloud.eureka           注册中心
        springCloud.config           配置中心
        springCloud.zuul             路由网关
        myProject.common             公共类库包
        myProject.dao                DAO层
        myProject.service            Service层
        myProject.webUI              微服务总系统UI    (同上)
        myProject.systemWebApi       系统管理微服务1.WebAPI.(如用户/角色/权限/菜单等)(不同的功能模块的API用不同的微服务)
        myProject.orderWebApi        订单管理微服务2.WebAPI.  
        myProject.wmsWebApi          仓库管理微服务3.WebAPI.
        myProject.appApi             APP访问的API微服务

    3.适合中型项目,各微服务里自带WebUI和webAPI,甚至各微服务可以自带dao/service,这种适合各微服务功能比较独立的方式,就算某一个服务有问题不影响其他微服务

    myProject.parent
        springCloud.eureka      注册中心
        springCloud.config      配置中心
        springCloud.zuul        路由网关
        myProject.common        公共类库包
        myProject.dao           DAO层
        myProject.service       Service层
        myProject.system        系统管理微服务1.(webUI和webAPI在一个微服务里)
        myProject.order         订单管理微服务2.(webUI和webAPI在一个微服务里)
        myProject.wms           仓库管理微服务3.(webUI和webAPI在一个微服务里)
        myProject.appApi        APP访问的API微服务

    4.适合大型项目,这个和第3种差不多,只是把webUI和webAPI再进行分离开来,但发布部署成本维护成本上去了,如果一个系统10个模块,就要发布20个微服务站点,开销比较大,

    myProject.parent
        springCloud.eureka           注册中心
        springCloud.config           配置中心
        springCloud.zuul             路由网关
        myProject.common             公共类库包
        myProject.dao                DAO层
        myProject.service            Service层
        myProject.systemWebUI        系统管理微服务1.webUI界面
        myProject.systemWebApi       系统管理微服务1.webAPI
        myProject.systemWebUI        订单管理微服务2.webUI界面
        myProject.systemApi          订单管理微服务2.webAPI
        myProject.systemUi           仓库管理微服务3.webUI界面
        myProject.systemApi          仓库管理微服务3.webAPI
        myProject.appApi             APP访问的API微服务(如果可以的话各系统的appAPI也可以再分成微服务)
  • 相关阅读:
    28_基于FPGA的简易电子密码锁
    AD设置PCB线宽线距过孔规则设置
    18_基于FPGA的VGA显示控制
    FPGA驱动ILI9341 TFT液晶显示指南
    risc_v介绍
    altium designer设置原理图大小
    19_基于FPGA驱动LCD12864显示字符
    20_基于FPGA驱动LCD12864显示图片
    27_基于FPGA的误码检测仪
    FPGA驱动ILI9325 TFT模块液晶显示指南
  • 原文地址:https://www.cnblogs.com/q149072205/p/14069019.html
Copyright © 2020-2023  润新知