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也可以再分成微服务)
  • 相关阅读:
    168. Excel Sheet Column Title
    171. Excel Sheet Column Number
    264. Ugly Number II java solutions
    152. Maximum Product Subarray java solutions
    309. Best Time to Buy and Sell Stock with Cooldown java solutions
    120. Triangle java solutions
    300. Longest Increasing Subsequence java solutions
    63. Unique Paths II java solutions
    221. Maximal Square java solutions
    279. Perfect Squares java solutions
  • 原文地址:https://www.cnblogs.com/q149072205/p/14069019.html
Copyright © 2011-2022 走看看