微服务架构概述 架构模式( 四 )


战略设计阶段的详细说明
在电梯演讲模板中,定义了七个方面,引导团队思考产品本身的核心价值和愿景 。最后才能做出流畅干练的描述语句 。
业务目标
站在用户的角度,了解用户的需求,确定如何为每一类用户群提供应对产品和服务的规划 。
价值定位画布价值定位画布是价值定位设计的经典做法 。它描述了产品提供的价值是如何与客户的需求联系在一起的,以及为什么客户想要购买你的产品 。通过分析用户在工作中的成绩和痛点,找到需要提供的服务,明确产品的价值和意义 。
价值取向画布
以内部员工的培训体系为例,梳理业务目标 。
6.2.1.2场景梳理方法
是对核心用户和顶层服务的定性分析 。同时也是从用户角度对问题领域的探索,产生问题领域中需要支持的分类和典型场景,以支持领域建模阶段 。
布景步骤Step 1:从价值定位画布中选取一个问题域/业务;第二步:参与者反思所选问题域的各种服务场景,可以粘贴便签;步骤3:对发散的业务场景进行汇聚和排序,得到场景分类列表 。
场景组合方法
6.2.1.3过程组合和领域建模的例子
通过对业务和问题领域的分析,建立领域模型 , 通过边界上下文向上引导微服务的边界设计,通过聚合向下引导实体的对象设计 。
领域建模
6.2.1.4边界文脉设计实例
确定6.2.1.5微服务的拆分 。
围绕边界上下文进行调整 。
设计因素1:在边际环境边界附近,理想的边际环境和微服务是1:1 。微服务拆分的底线是聚合不能被打破,这会破坏事务一致性和业务约束 。
设计因素2:考虑系统的非功能性需求:安全性、可伸缩性等 。
设计因素3:其他设计约束:复杂性、团队结构、技术异质性 。
6.2.1.6分层模型
层次模型是层次技术架构在领域驱动设计中的体现 。根据微服务的特点 , 根据实际业务和技术条件定义整体架构的分层 , 降低设计复杂度 。考虑每个特定微服务中的层次结构 。
6.2.1.7要求变革
七 。微服分裂模式7.1扼杀者模式
陌生人模式类似于楼房拆迁,分阶段新建楼房后,逐步拆除旧楼房 。
“陌生人模式”是在遗留系统的外围,以新的方式将新的功能构建到新的服务中 。通过在新的应用程序中实现新的特性,并与现有系统保持松散耦合,随着时间的推移,新服务逐渐扼杀旧系统 。从而逐渐取代原有系统 。它适用于那些陈旧、庞大且难以改变的遗留系统 。
“扼杀模式”有个别名叫“停止挖坑”,意思是不要在当前系统上增加功能 , 而是以松耦合的方式增加新的功能,让旧的功能慢慢被扼杀 。这种模式的前提是确认遗留系统不会增加新的功能,只做Bug修复和日常维护 。这样带来的改变风险最?。?但是需要很长时间的进化 。
绞杀模式逐渐取代旧系统 。
7.2维修模式(修复)
修复者模式类似于文物修复 。对一些有问题的建筑进行改建或修缮后,重新添加到原有建筑中 , 保持建筑原貌 。
“修复者模式”是在现有系统的基础上,通过剥离新的服务和功能,逐步“释放”现有系统的耦合度,来解决遗留系统质量不稳定、bug多的问题 。就像修房子或路一样,把要修的旧的部分隔离出来,用新的方式单独修 。在修复的同时,要保证它还能和其他部分配合 。修复模式适用于需求变化频率较低的库存系统 。
一个运行5年以上的遗留系统,其中某个模块需要升级,我们单独将这个模块微服务到新系统,然后旧系统开始使用新开发的微服务 。
还有一点需要注意的是,旧的应用和数据库都迁移到了新的微服务上!
好人模式
八、微服务转型的切入点
微服务接口开发难度从低到高依次为:数据源维度、第三方接口->全新业务、全新数据库->旧业务简单数据库结构->旧业务复杂数据库结构->旧第三方封闭系统 。界面维度单项查询界面->新增业务涉及新增、删除、变更查询界面->旧业务数据写入界面 。
更多推荐
软件架构设计-软件架构风格,层次架构
企业架构| TOGAF架构能力框架
DDD兴起的原因及其与微服务的关系
微架构实现原理详解
10种常见的软件架构模式

推荐阅读