zoukankan      html  css  js  c++  java
  • 浅谈项目结构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也可以再分成微服务)
  • 相关阅读:
    EF Core 执行SQL语句和存储过程
    SQL优化之SELECT COUNT(*)
    SQL优化之SQL 进阶技巧(下)
    SQL优化之SQL 进阶技巧(上)
    旅游攻略:重庆红色之旅
    ASP.NET Core在CentOS上的最小化部署实践
    Windows平台部署Asp.Net Core应用
    kali 免杀工具shellter安装以及使用
    Ubuntu Server18.04配置静态IP
    Centos7系统配置静态IP
  • 原文地址:https://www.cnblogs.com/q149072205/p/14069019.html
Copyright © 2011-2022 走看看