基础模块定义是在框架开发过程中起始步骤,好的模块划分分工明确,促进任务开发迭代。

但是我们在搭建框架的过程中怎么去定义模块,用什么标准去定义,怎么划分具体的模块点,

不用的人员有不同的考量,只能找最适合企业的开发框架。

划分标准

第二章-基础框架模块划分

划分标准是一个框架划分的基础准则,有不同的方法论支撑框架的合理性划分,为建企业级框架做出建模标准,下面是最基础的一些设计原则:

  • 稳定性:需要考虑到项目规模,可承受的数据量和容错能力,不能根据需求频繁的变更
  • 高内聚:模块实现应该完成强关联的相关内容
  • 低耦合:通过约定基于接口开发,不依赖具体实现,避免项目依赖产生的问题
  • 开闭原则:将同一模块的内容打包在一起,每次变更只影响一个服务
  • 模块自治:与其他团队尽量协作少的开发,来开发和部署服务
  • 可测试性:都有完整的单元测试,而且达到一定的覆盖率,不能引入其它组件

模块分类

第二章-基础框架模块划分

不同的框架的模块定义都会有一些细微的差别,但是大体都是差不多的,,目的都是为了减少模块之间的依赖,减少沟通成本,和高可用架构。

  • 公共组件:定义全局所需要的功能,提供最底层的支持服务,通过基础组件支撑上层框架
  • 基础服务:将微服务框架可运维可独立部署,为框架提供业务服务的这一类定义基础服务
  • 交易框架:定义整个开发框架的开发模式,集成基础组件,提供服务开发便利的应用框架
  • 业务框架:基于交易框架框架做开发,将企业特色的业务功能封装成业务框架

基础组件

第二章-基础框架模块划分
基础组件提供应用框架的公共功能,这一部分极其重要,版本一旦稳定就不会轻易的去做变更,如果变更的话,不仅应用框架的升级,还会影响业务框架,规模大的项目升级是很麻烦的。

  • 日志组件:日志集成,配置,性能日志,日志脱敏
  • 数据库组件:数据源集成,ORM映射框架集成,分库分表
  • 缓存组件:Redis集成、缓存工具类、应用级缓存、接口级缓存
  • 异步消息组件:RocketMq集成、消息发布、消息监听
  • 异常处理组件:信息码定义、错误异常分类、异常处理
  • 公共api组件:定义组件API、常量
  • 通用工具类:提供系统级的工具类

基础服务

第二章-基础框架模块划分

微服务架构需要一些可独立部署的支撑服务搭建一个高可用框架,基础框架基础组件,其它的能力让应用服务提供。

  • 应用网关:请求过滤、权限认证、限流熔断、灰度,报文转换
  • 消息平台:短信、邮件、站内信处理
  • 定时任务:轮询任务、批处理,分布式定时任务
  • 路由服务:单元化架构用到,用于大数据量体系单元定位
  • ***服务:全局唯一***生成

交易框架

第二章-基础框架模块划分
这一块的设计是框架中的主体内容,设计好了不仅能满足各种业务场景,应并发环境还能节省不少人力成本。

  • 基础模型:基础报文定义、接口api定义
  • 分布式事务:分布式事务处理
  • 交易处理:报文处理、日志流水、前后置处理,服务调用
  • 服务编排:服务组合框架使用
  • 扩展机制:上下文定义、前后置处理机制

示例工程

第二章-基础框架模块划分

相关文章: