Fără Descriere

luoynagwei 10b7a60385 消息保存 9 luni în urmă
api-location 97da66201d 文档 9 luni în urmă
api-message 10b7a60385 消息保存 9 luni în urmă
api-user 97da66201d 文档 9 luni în urmă
api-websocket 10b7a60385 消息保存 9 luni în urmă
app-gateway da5a6b6193 架构调整 9 luni în urmă
business-application 10b7a60385 消息保存 9 luni în urmă
business-common 10b7a60385 消息保存 9 luni în urmă
business-domain 10b7a60385 消息保存 9 luni în urmă
business-infrastructure 10b7a60385 消息保存 9 luni în urmă
document 10b7a60385 消息保存 9 luni în urmă
gradle b4789b3083 New Architecture 9 luni în urmă
.gitattributes b4789b3083 New Architecture 9 luni în urmă
.gitignore b4789b3083 New Architecture 9 luni în urmă
Makefile 97da66201d 文档 9 luni în urmă
README.md 10b7a60385 消息保存 9 luni în urmă
build.gradle 1af1431fda 架构调整 9 luni în urmă
gradlew b4789b3083 New Architecture 9 luni în urmă
settings.gradle 8b966aedc3 改名 9 luni în urmă

README.md

WA04

该项目架构从 COLA 5 的基础上进行了修改,主要修改了以下几个地方:

  • 项目布局发生了变化,不再是一个单一的项目,而是一个多模块的项目,每个模块都是一个独立的项目,可以单独运行,也可以作为一个模块被其他模块引用。
  • 项目的依赖管理发生了变化,使用 Gradle 进行依赖管理。
  • 没有使用 COLA 的组件库,我们自己构建了适合的组件库

结构变化

Infrastructure

基础实施层(Infrastructure Layer)

  1. Configuration: Springboot 的配置。
  2. DTO: 系统的传输对象,包含请求、响应还有数据库的Model。
  3. Adapter: 整个系统的对外的处理逻辑,里面有具体的技术细节,追求简化和剥离业务逻辑,要求跟逻辑区分。
  4. Repository 数据仓库,写 Mysql 数据的 Mapper,在 Mybatis 里叫 Mapper,在JPA里叫 Repository。

Api

接口层(Api Layer),负责提供和接受外部的请求比如 Restful,RabbitMQ Messaging

  1. api-websocket: 负责 Websocket 长链接的会话保持,处理简单的消息下行。
  2. api-user: 系统的认证和授权,还有用户相关的API提供,比如小孩相关、设备相关的信息CURD的接口。 api-user 拥有整个系统大部分的逻辑。
  3. api-message: 提供消息上行接口和拉取消息接口,消息从客户端HTTP接口产生后在 api-message 里RabbitMQ发送至消息队列。
  4. api-location: 系统定位服务处理定位相关业务逻辑,如电子围栏、IOT 定位。同时也拥有产生定位消息的能力。

架构图

img.png

路径上下文

img2.png

启动项目

TODO

Reference