服务界限
一般来说,同一个业务领域的服务,需要创建一个独立的Spring Boot模块。同一个系统下的所有模块共享数据存储(数据库、缓存等)。
这里的“模块”指能独立部署的单元,“系统”指面向相同用户群体模块的集合。
每个模块独立维护自己的接口,以及相关的数据传输对象和数据实体定义。跨模块的数据查询需求,需要使用远程调用的形式完成;跨模块的数据修改需求,推荐采用事件驱动的方式间接完成更新。
多个模块的实体可能会有一定的交集,开发阶段可以采用共享数据对象的形式,开发稳定之后或者上线之前进行数据分离。
禁止跨模块的数据依赖(禁止调用其他模块的Repository查询或修改数据)
Last updated