springcloud 下的系统架构原则

系统基本原则:

  1. 所有的业务功能,以树的形式向下延申。
  2. 树自上而下,不需要逆向调用。
  3. 复杂业务,自上而下拆分,合拼业务,自下而上合并。

基本架构图:

 

层级说明原则:

  1. Biz,入参(DTO),出参(DTO)。
  2. BIz,完整的功能单位以biz接口提供。
  3. Biz,保留核心生命周期。biz内部可以整合,相互调用,抽象出非核心生命周期,以sharedBiz为子层级,sharedBiz权限和Biz同级,但不对外暴露。
  4. sharedBiz,高度抽象后,可以降层自core。
  5. sharedBiz,入参(DTO、BO、DO),出参(DTO、BO、DO)。
  6. sharedBiz,对Biz功能抽象,并非完整功能,为Biz子层,存在于BizImpl中。
  7. core,入参(DTO、BO、DO),出参(DTO、BO、DO)。
  8. core,sharedBiz高度抽象后的沉淀层,独立处理有biz拆分后的子功能点。
  9. core,定义BO,和converter。
  10. dal,入参(DO),出参(DO)。
  11. dal,作为数据层,存在两部分:dao,数据库操作,提供对数据库表的增删改查操作;interation,外部调用,调用接口提供服务,需要转换外部DTO为内部DO。
  12. dao,查询类服务请求以*Query为名的对象封装。更新类服务请求以*Update为名的对象封装。
  13. interation,调用对象(DTO)需要转换为内部使用的对象(DO)使用。

系统业务成长原则:

自上向下拆分,自下向上合并原则。

  1. BIz,外部接口点扩展,使用plugin模块适配,当业务成长到一定复杂程度,plugin接口回归至Biz,减少调用层级。
  2. Biz,内部功能扩展,使用sharedBiz优先拆分,当业务成长到一定复杂程度,sharedBiz接口降层至core,降低复杂功能节点的职能。
  3. core,内部多个职能降低时,可以多个接口合并,上升至BIz,降低调用层级。当单个职能降低至库表操作时,上升至Biz,直接调用dal,降低调用层级。
  4. dal,dao保证职能单一,降低接口复杂度,减轻数据库压力。
  5. dal,dao业务复杂度上升,需要拆分,将职能业务,上升至core。

系统边界原则:

  1. Biz,对外暴露,系统输出功能。
  2. core,系统内部业务。
  3. dal,外部调用,dao数据库,interation其他微服务调用。

系统调用原则:

简单业务,直接调用,尽量减少层级调用。复杂业务,拆分,均衡个子节点职能。

  1. Biz,优先调用dal,其次core,再者sharedBiz,最后其他Biz(不推荐)。
  2. core,优先dal,其次core,(高度复杂上升sharedBiz,保证调用清晰,职能均衡)。
  3. dal,提供服务,尽量单一,(复杂操作,拆分接口,上升core封装)。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值