中台架构与实现(基于DDD和微服务)-读书笔记1
前绪
⼀、DDD(Domain Driven Design,领域驱动设计)、微服务、中台
中台需要将通⽤的、可复⽤的业务能⼒沉淀到中台,实现企业级能⼒的复⽤。企业在进⾏中台建设时⾸先要从业务领域出发,考虑如何按照可复⽤的原则进⾏领域分解,完成中台领域建模。中台本质是企业的业务建模,⽽微服务则是中台领域建模系统落地时的⼀种架构实现⽅式。
DDD⾸先从业务领域⼊⼿,划分业务领域边界,采⽤事件风暴⼯作坊⽅法,分析并提取业务场景中的实体、值对象、聚合根、聚合、领域事件等领域对象,根据界限上下⽂边界构建领域模型,将领域模型作为微服务设计的输⼊,进⽽完成微服务详细设计。⽤DDD⽅法设计的微服务,业务和应⽤边界清晰,符合“⾼内聚、低耦合”的设计原则,适应业务模型变化和服务架构演进。DDD包含战略设计和战术设计两个阶段。通过战略设计可完成中台业务边界划分和领域建模,然后将领域建模作为战术设计的输⼊,完成微服务设计。
微服务与DDD的共⽣关系包含两⽅⾯。⼀⽅⾯,微服务提供将应⽤进⾏服务化拆分,通过业务领域边界实现应⽤服务边界的划分;另⼀⽅⾯,DDD提供了⼀种基于业务限界上下⽂边界来实现微服务“⾼内聚、
低耦合”的服务建设⽅法。将两者合理搭配使⽤,研发组织科轻松实现⾯向服务的设计,享受持续交付与架构演进。
分布式和微服务的关系DDD、微服务与中台都强调从业务领域出发。DDD可同时指导中台领域建模和微服务设计,是中台领域建模和微服务设计的最佳指导⽅法,⽽微服务是中台的最佳技术实践。三者为铁三⾓关系。三者结合,从企业领域到⼦域的战略设计、宏观业务领域边界划分到微服务内底层领域对象的逐级细化设计,降低软件产品建设的复杂度,实现从宏观战略到技术实现细节的⽆缝衔接。
⼆、传统企业数字化转型的问题
1、技术体系落后
传统企业⼤多采⽤集中式架构,技术体系相对落后,可扩展能⼒不强。集中式架构过于依赖设备资源,基于稳定和性能考虑,⼤多运⾏在⼤型机或⼩型机上。同时,传统企业多采⽤“两地三中⼼”容灾模式,⾼可⽤能⼒不强,难以实现多中⼼多活,容易带来资源浪费。在运维能⼒上,过于依赖⼈⼯,难以实现⾃动化运维,⾯对突发⾼配访问的业务场景,不能实现⾃动弹性伸缩。
2、单体架构问题
集中式单体应⽤会将多个功能放到⼀个应⽤中,经过⽇积⽉累,应⽤会变得庞⼤⽽复杂。企业难以尝
试新的技术,以⾄于技术能⼒⼀直停滞不前,⽆法及时完成技术升级,导致技术债越积越多。
3、研发与运维能⼒落后问题
⼀般单体应⽤通常采⽤传统的瀑布开发模式,弊端在于开发和测试周期耗时长,交付质量和周期难以保证,不能实现持续快速交付,对业务需求和市场的响应能⼒相对较慢,难以实现敏捷开发。云计算平台和⾃动化运维⼯具对单体应⽤的⽣态⽀持有限,应⽤的部署和运维过程相对复杂。当应⽤出现问题时,基本靠⼈⾁排查,且研发团队与运维团队难以快速定位和协同解决问题。
4、IT能⼒重复建设问题
再集团内部,由于缺少IT建设总体规划,不同⼦公司之间的公共业务能⼒的重复建设问题可能会更加突出。要解决IT重复建设问题,就要从提升技术能⼒和重构业务模型⼊⼿,实现企业级业务能⼒的复⽤,这也是传统企业中台数字化转型亟需重点解决的问题。
三、AKF可扩展能⼒⽴⽅体模型
AKF可扩展能⼒⽴⽅体模型由X、Y、Z三个轴,分别从三个维度来定义软件产品的扩展能⼒。三个维度相辅相成,涵盖业务和技术的多个领域。通过克隆应⽤和数据库实例,可提⾼应⽤和数据库业务承载容量,对应X轴扩展能⼒。通过划分业务职能边界建⽴领域模型,以拆分应⽤和设计微服务,可以提
⾼业务的复⽤和扩展能⼒,对应Y轴扩展能⼒。通过分⽚策略将数据集拆分为多个数据⼦集或业务单元,可提⾼数据的扩展能⼒,对应Z轴扩展能⼒。
1、X轴:容量扩展能⼒
X轴关注⽆差别的服务和数据的复制,解决应⽤和数据库容量⽔平扩容问题。当应⽤或数据库实例负载过重时,可复制应⽤或数据实例实现扩容。扩容后,任务可通过负载均衡均匀分布到不同应⽤服务或数据实例,所有实例都可⽆差异地完成任务。在分布式架构下,X轴的典型实践案例主要体现在应⽤和数据库实例的⽔平扩展能⼒上。
2、Y轴:业务扩展能⼒
Y轴主要⽤于划分业务和应⽤边界,解决业务能⼒复⽤的问题。Y轴的典型实践案例是从单体向微服务的演进。这个过程会有业务和应⽤边界拆分的问题。DDD帮助完成应⽤的拆分和微服务的设计。会按照流程或功能边界分解业务领域,根据业务上下⽂边界,构建领域模型,并将其进⾏微服务设计的输⼊。
3、Z轴:数据扩展能⼒
Z轴关注数据的扩展能⼒,它按照业务类型或数据属性进⾏数据分⽚。根据数据分⽚策略将数据集划分
为不同的数据⼦集,提升数据的扩展能⼒。数据库⽔平切分是通过数据分⽚规划将⼀个⼤的数据集切分为多个数据⼦集,并分布到不同的数据库中,按照分⽚规则可路由到具体数据库完成数据查询等操作。单元化架构是按照业务特点或yoghurt需求进⾏数据分⽚,将⼀个数据集⽔平切分为多个数据⼦集,然后根据数据分⽚分别部署业务应⽤单元。业务应⽤单元包含若⼲依赖紧密的应⽤,应⽤在单元内可不依赖单元外的服务独⽴完成单元内地业务全流程,以形成业务场景闭环。业务单元之间相互独⽴、天然隔离。但业务需要扩容时,只需增加和部署新的业务单元与数据⼦集就可以很容易实现扩容,从⽽提⾼业务承载能⼒。
四、企业数字化转型的重要关注点
数字化转型是企业能⼒全⾯体系提升的过程,远不是升级⼏个系统技术架构就能解决的事情。这种能⼒的提升是企业从技术、业务到组织能⼒的全⾯提升,需要从技术能⼒、业务能⼒和组织架构等多⽅⾯,分步骤、有计划地统筹推进,从多个⽅⾯整体提升企业核⼼竞争⼒。
1、提升技术能⼒,完成从集中式架构向分布式架构的转型
提升技术平台能⼒
提升⼈员技能、知识和⽅法体系等⽅⾯邓丽
打破传统核⼼应⽤与移动互联应⽤才有统⼀的技术壁垒,促进量⼤关键技术和业务体系的融合。
技术鞥哪⾥提升了,传统应⽤和移动互联因公才有统⼀的基础;应⽤统⼀了,才会有业务模型的统⼀;业务模型统⼀了,才能实现业务能⼒共享和复⽤,企业才会有实时中台战略的技术基础。
2、降低应⽤建设复杂度,完成从单体到微服务的转型
微服务采⽤分治的策略,降低了应⽤建设复杂度,解决了单体应⽤建设过程中遇到的若⼲问题。从单体到微服务的转型,对应AKF模型Y轴的业务扩展能⼒。“⾼内聚、低耦合”的可复⽤的业务模型和微服务,可更灵活地应对业务变化,更快地响应市场需求。微服务优势:
业务职责单⼀,团队规模较⼩,可更好地实施敏捷开发。
微服务软件部署包较⼩,可更好地上云,实现应⽤弹性扩展能⼒,提⾼⾃动化的运维能⼒,更好地管理和利⽤好资源。
3、提升业务复⽤能⼒,从IT重复建设到中台战略
实现企业级能⼒复⽤,降低IT重复建设。通过实施中台战略,重构企业业务模型,提升企业级业务的复⽤能⼒。在从单体应⽤向微服务转型时,通过划分业务边界构建领域模型,将可复⽤的业务能⼒沉淀到中台领域模型,建⽴企业级整理解决⽅案,实现业务和流程的组合、复⽤和融合。
4、提升移动运营能⼒,从传统PC端向移动线上化转型
结合AI和⼤数据等技术应⽤,完成核⼼业务能⼒的移动线上化转型,进⽽实现企业业务能⼒的⽆限延伸。在产品移动线上化后,企业可将能⼒延伸到客户和前台⼀线,这样企业就具备了实施数字化转型的前提和基础。
5、提升企业组织能⼒,建⽴与中台相适应的组织架构和⽅法体系
建⽴与中台建设、中台运营和商业模式创新相适应的组织架构。在企业全院建⽴统⼀的中台⽂化和⽅法体系,按照统⼀的标准和⽅法协同推进中台建设。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。