网站欢迎屏怎么做,云服务器怎么用详细步骤,本地wordpress后台很慢,怎么做网站企业介绍一. 什么是领域驱动模型(DDD)#xff1f;领域驱动模型一种设计思想#xff0c;我们又称为DDD设计思想。是一种为了解决传统设计思想带来的维护困难#xff0c;沟通困难和交互困难而产生的一种新的思想。也解决了在部分公司中#xff0c;一个项目组就是一套服务#xff0c;…一. 什么是领域驱动模型(DDD)领域驱动模型一种设计思想我们又称为DDD设计思想。是一种为了解决传统设计思想带来的维护困难沟通困难和交互困难而产生的一种新的思想。也解决了在部分公司中一个项目组就是一套服务不同项目组中又相互通过RPC访问相互之间交互的安全保障。二. 领域驱动模型解决了什么问题在传统微服务的单服务设计上我们通常只顾自己开发只顾自己业务只管理自己数据库一旦其他服务需要使用另一个服务上的某些功能时我们通常需要使用HTTP来内网访问达到目的或是使用RPC来访问业务。首先假设我们需要用HTTP来访问其他服务接口首先我们需要知道对应服务的URL其次需要开发方提供对应的参数VO一旦VO变化开发方忘记通知下游业务方下游业务方是无法感知的。接下来会讲解模型中每一层概念会一步步证明领域驱动模型的出现降低了微服务下服务之间的耦合程度提高了内聚力。三. 设计领域驱动模型传统设计模型领域驱动模型以下介绍的层级即是领域驱动模型中代表的各个领域去负责自己的范围API层作用存放要对外暴露的RPC接口的service层。意义其他服务不需要了解自身服务的业务实现这一层很薄只需要提供出去其他服务知道它是干嘛的就足够了即让其他服务调用了自身业务又没有暴露自身的业务实现降低安全风险。Web层作用可以对等于传统设计的controller层用来处理参数校验转发等一些简单的业务。 意义与Service层剥离其目的是为了保障biz层的独立性但是在maven结构中又引用biz层可以理解为biz的下游当需要biz处理业务的时候通知biz帮忙处理但是不参与biz层的业务实现只提交对应参数。Biz层作用biz是Business的缩写即业务逻辑层可以对等于传统设计的Service层存放的业务逻辑biz中也存在servicebiz中的service存放的是内部使用不对外提供的service。api层和biz层的service业务逻辑实现都存放在biz层中。 意义剥离业务逻辑防止业务逻辑暴露同时与dal层剥离保证自身独立性不与dal层耦合。这一层也是服务核心层是处理下游提交的需求与数据之间交互的重要层级。dal层作用dal是Data Access Layer的英文缩写即数据访问层可以对等于传统设计的Dao层主要是用来负责与数据的交互比如Mysql、ES、HBase等。通常我们的Mybatis的Mapper和JPA就在这一层编写。 意义让业务与数据隔离dal层成为了biz层的上游负责为biz的业务实现提供对应数据。同时dal与数据中间件直接映射形成绑定关系其他服务需要接手数据层可以直接引用达到高内聚的目的又降低了代码的耦合性提高了开发效率。domain层作用存放一些通用的可以对外暴露的Object、Enum等。 意义通常用来制定一些标准比如共同使用的枚举、常量的定义一般作为上游服务提供给下游服务需要按照标准实施的内容。config层作用存放一些通用的配置如缓存、中间件、日志和消息消费等通用配置注意一点的是消息消费简单的处理是放在该层涉及到本服务数据交互的业务还是需要写在biz层在biz中去实现较为复杂的业务消息消费放在该层中也是为了便于维护。 意义配置独立化便于管理与维护。client层作用存放调用第三放平台外部服务等RPC或HTTP接口服务等。如通过pom引入其他服务的api层编写调用http接口的实现但与本服务数据交互的业务仍在biz层中实现。 意义第三方内容独立化便于管理与维护。