![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务拆分
文章平均质量分 70
VirtuousGuy
热爱Java编程,对大数据和分布式有浓厚兴趣的小白
展开
-
DDD从小白到入门
DDD终结篇 总结一:微服务设计和拆分的原则 微服务的演进策略: 1、绞杀者策略:绞杀者策略是一种逐步剥离业务能力,用微服务逐步代替原有单体系统的策略,它对单体系统进行领域建模,根据领域边界,在单体系统之外,将新功能和部分业务能力独立出来,建设独立的微服务。新微服务与单体系统保持松耦合关系。随着时间的推移,大部分单体系统的功能将被独立为微服务,这样就慢慢绞杀掉了原来的单体系统。绞杀者策略类似建筑拆迁,完成部分新建筑物后,然后拆除部分旧建筑物。 2、修缮者策略:修缮者策略是一种维持原有系统整体能力不变,逐步优原创 2021-01-20 09:27:03 · 388 阅读 · 2 评论 -
DDD从小白到入门
DDD实战篇四:基于DDD的微服务设计实例 项目的基本信息: 项目的目标是实现在线请假和考勤管理,功能描述如下: 1、请假人填写请假单提交审批,根据请假人身份、请假类型和请假天数进行校验, 根据审批规则逐级递交上级审批,逐级核批通过则完成审批,否则审批不通过退回申请人。 2、根据考勤规则,核销请假数据后,对考勤数据进行校验,输出考勤统计 战略设计:战略设计是根据用户旅程分析,找出领域对象和聚合根,对实体和值对象进行聚类组成聚合,划分限界上下文,建立领域模型的过程。战略设计主要包括:产品愿景、场景分析、领域建原创 2021-01-19 09:08:53 · 513 阅读 · 1 评论 -
DDD从小白到入门
DDD实战篇四:从后端到前端:微服务后端,前端如何设计? 从单体前端到为前端: 为了解决单体前端的问题,我们可以借鉴微服务的设计思想,引入微前端概念。将为服务理念扩展到前端,解决中台微服务化后,前端由于仍为单体而存在的的逻辑复杂和臃肿的问题。 微前端:在前端设计时遵守单一职责和复用原则,按照领域模型和微服务边界,将前端页面进行拆分,同时构建多个可以独立部署、完全自治、松耦合的页面组合,其中每个组合只负责特定业务单元的UI元素和功能,这些页面组合就是微前端。 微前端与微服务一样,都是将单体应用,按照规则拆分,原创 2021-01-18 09:37:36 · 360 阅读 · 1 评论 -
DDD从小白到入门
DDD实战篇三 边界:微服务的各种边界在架构演进中的作用 微服务设计的重点就是看微服务设计是否能够支持架构长期、轻松的演进。MartinFowler在提出微服务时,提到了微服务的一个重要特征–演进式架构。演进式架构就是以支持增量的、非破坏的变更作为第一原则,同时支持在应用程序结构层面的多维度变化. 如何判断微服务设计是否合理? 只需要看它是否满足这样的情形:随着业务的发展和需求的变更,在不断重新拆分或者组合成新的微服务的过程中,不会大幅度增加软件开发和维护的成本,并且这个架构演进的过程是非常轻松、简单的。使原创 2021-01-15 09:29:21 · 269 阅读 · 0 评论 -
DDD从小白到入门
DDD实战篇二 代码模型(上):如何使用DDD设计微服务代码模型 DDD分层架构模型: 1、用户接口层:面向前端提供服务适配,面向资源层提供资源适配。这一层接口适配相关的功能。 2、应用层职责:实现服务组合和编排,适应业务流程快速变化的需求。这一层聚集了应用服务和事件相关的功能。 3、领域层:实现领域的核心业务逻辑,这一层聚集了领域模型的聚合、聚合根、实体、值对象、领域服务和事件等 领域对象,以及它们组合所形成的业务能力 4、基础层:贯穿所有层,为各层提供基础资源服务。这一层聚原创 2021-01-13 09:49:08 · 1421 阅读 · 1 评论