[聚合文章] 微服务架构之规范

软件架构 2017-11-28 15 阅读

Spring-Boot版本

统一选择使用1.5.8.RELEASE

Spring-Cloud版本

统一选择使用 Edgware.RELEASE

部署方式

统一使用jar方式

项目命名

  • 微服务统一以service-xxx进行命名
  • web层统一以web-xxx进行命名

服务以订单服务为例

  • 项目名称: service-order
  • groupId: com.iba.service
  • artifactId: com.iba.service.order

web以订单为例

  • 项目名称: web-order
  • groupId: com.iba.web.order
  • artifactId: com.iba.web.order

包目录结构

服务方

如图所示:

打包后的jar:

  • service-product-contract-0.0.1-SNAPSHOT.jar
  • service-product-0.0.1-SNAPSHOT.jar

说明

  • src/main/java
    • com.iba.service.order
      • OrderServiceApplication.java : 启动类
      • contract
        • model
          • Order.java : 实体类
        • service
          • OrderService.java : 服务接口
        • xxx
          • 需要暴露给调用方的相关类、枚举等
      • mapper
        • OrderMapper.java
      • service
        • OrderServiceImpl或者OrderService: 服务实现
      • xxx
        • 需要暴露给调用方的相关类、枚举等
  • src/main/resources
  • pom.xml : 服务实现类打包,打包成 service-order.xxxx.jar
  • deploy_pom.xml 接口类打包 , 打包成 servce-order-contract.xxxx.jar

调用方

如果调用方为其他服务,则采用上述方式,如果是Web层,则采用如下方式

  • src/main/java
    • com.iba.web.order
      • OrderWebApplication.java : 启动类
      • controller
        • OrderController.java: 订单控制层
      • business/service
        • OrderBiz.java/OrderService.java
      • xxx
        • VO等相关类
  • src/main/resources

依赖的时候

<dependency>
 <groupId>cn.liuyiyou.springcloud</groupId>
 <artifactId>user-service-feigh-api</artifactId>
 <version>0.0.1-SNAPSHOT</version>
</dependency>

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。