浅谈项目结构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也可以再分成微服务)
原文地址:https://www.cnblogs.com/q149072205/p/14069019.html