SpringCloud - 项目组织架构如何搭建

概述

Java 项目开发中,为了方便进行依赖管理,常用的依赖管理工具有 MavenGradle。由于我司惯用 Maven,所以这里以 Maven 举例,为了提高代码复用率,Maven 提供了 模块化 开发方式,就是把可复用的代码写在一个项目中,打包成 jar 包,再由需要的项目进行引用。

在微服务项目开发中,把复杂的逻辑按照业务边界划分为一个个服务,也需要使用模块化开发的方式,一般有两种开发模式:

  • 一个服务一个工程(项目)
  • 一个工程(项目)多个服务

下面具体说明一下两种开发模式的不同,因为我司是一个电商公司,所以这里就以电商场景为例:

一个服务一个工程

这种模式下,按照业务边界划分服务,一个服务一个工程(一个 git 仓库),只有对应的开发人员才会有对应代码仓库的权限,如果有业务交叉,只需要提供 API 文档或者接口(Feign 或者 Dubbo)给其他开发人员即可

  • 商品服务 -> mall-product.git
  • 订单服务 -> mall-order.git
  • 购物车服务 -> mall-cart.git
  • 搜索服务 -> mall-search.git

一个工程多个服务

这种模式就是 Maven 的聚合模式,所有代码都在一个工程(一个 git 仓库)下,只要是相关的开发人员就可以看到所有的代码,这种模式有一个好处就是可以对整个项目的层次有一个清晰的理解,方便开发人员理解代码。

  • 电商项目 -> mall.git
    • 商品模块 mall-product
    • 订单模块 mall-order
    • 购物车模块 mall-cart
    • 搜索模块 mall-search

如何选择

我司的项目组织架构是结合了上面两种开发模式的,大部分项目都是以第一种方式进行开发的,还有一些业务边界不是很清晰的项目就以组的形式,一组服务一个工程,交由具体的开发组进行开发,降低项目复杂度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值