# zy-ddd
**Repository Path**: zy-explorej2ee/zy-ddd
## Basic Information
- **Project Name**: zy-ddd
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-07-30
- **Last Updated**: 2021-10-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 新架构
## README
## 方式1: 所有微服务的feign接口放在同一个项目(service-feign)中统一管理
##### 此架构优势:
###### 1.本服务为微服务的另一种架构模式,将多个微服务的feign定义在同一个微服务中,以jar包的方式供系统中各个微服务引用。
###### 2.任意微服务均只需引用同一个feign工程,即可具备微服务体系中的所有接口,均可进行其他服务的调用。方便后端接口的维护和管理以及统一对外提供接口服务。
###### 3.模块插拔式集成进来和剔除出去。新增模块,只需要在service-feign工程中增加对应的feign接口,在service-gateway工程增加对应的路由即可嵌入新的模块。删除模块则只需要删除service-gateway工程对应的路由和service-feign工程中对应的feign即可。
##### 此架构的劣势:
###### 微服务群不宜过大,过大则会导致网关路由繁多,流量全部从网关过,网关压力大。其他缺点待补充...
#### 依赖关系:
###### service-module-user、service-module-order这俩模块均依赖service-feign
#### 体验方式:
###### 顺序启动spring-cloud-eureka-server、spring-cloud-gateway,再启动service-module-user、service-module-order,对应端口分别为8760,8761,8762,8763。
###### 浏览器访问:http://localhost:8761/user/test1 验证通过访问网关实现user模块调用order模块;
###### 浏览器访问:http://localhost:8761/order/test1 验证通过访问网关实现order模块调用user模块。即可验证只需要访问网关即可实现所有接口的访问。
###### 或直接使用curl命令调接口验证【注意:是通过网关来调用的】
curl -X GET "http://localhost:8761/user/test1"
curl -X GET "http://localhost:8761/order/test1"
## 方式2: 所有微服务的feign放在同一个目录(common-feigns)下统一管理,但是独立存在,各微服务按需引用各个feign依赖
## 方式3: 各个微服务的feign放在各个服务自己的目录下分开管理,其他微服务按需引用相应的依赖
### 方式2、方式3的体验方式:
##### 顺序启动spring-cloud-eureka-server、spring-cloud-gateway,再启动service-module-user、service-module-order,对应端口分别为8760,8761,8762,8763。访问网关的聚合swagger:http://localhost:8761/doc.html (或访问各自服务的swagger)进行接口测试即可
截图展示:

