中台数字化转型的问题
在中台数字化转型过程中,如何进行业务领域边界划分,如何完成中台领域建模实现能力复用,如何完成单体应用拆分利微服务设计,如何实现前中后台的协同设计;
DDD解决的问题
- DDD首先从业务领域人手,划分业务领域边界,采用事件风暴工作坊方法,分析并提取业务场景中的实体、值对象、聚合根、聚合、领域事件等领域对象,根据限界上下文边界构建领域模型,将领域模型作为微服务设计的输人,进而完成微服务洋细设计;
- 用DDD方法设计出来的微服务,业务和应用边界非常清晰,符合“高内聚’低耦合”的设计原则,可以轻松适应业务模型变化和微服务架构演进;
- 软件按照相对的“稳定性”来排序,领域层>应用层>界面层;
- 领域分析的价值所在就是寻求“千变万化”中相对的“稳定性、第一性”,然后通过合理的架构分层及抽象隔离的业务复杂度和技术复杂度,隔离业务领域的稳定性和易变性,从架构上精巧快速地支持业务的变化;
- DDD是中台和微服务设计的最佳指导方法,而微服务则是中台的最佳技术实现;
KF可扩展能力立方体模型
x轴: 容量扩展能力
x轴关注无差别的服务和数据的复制,解决应用和数据库容量水平扩容的问题。当应用或数据库实例负载过重时,可以复制应用或数据库实例实现扩容。扩容后,任务可以通过负载均衡均匀分布到不同应用服务或数据实例,所有的实例都可以无差异地完成任务;
在分布式架构下,x轴的典型实践案例主要体现在应用和数据库实例的水平扩展能力上。如Nginx负载均衡,应用或数据库的多实例,应用的弹性伸缩,数据库多副本和读写分离等场景;
y轴: 业务扩展能力
y轴关注应用的业务职责划分,如根据数据类型、交易类型或根据两者组合来划分业务和应用边界,在划分过程中会遵循单—职责原则。y轴主要用于划分业务和应用边界,解决业务能力复用的问题;
y轴的典型实践案例是从单体向微服务的演进。这个过程会有业务和应用边界拆分的问题。DDD(领域驱动设计)方法就是一种行之有效的划分业务领域边界的方法,以帮助完成应用的拆分和微服务的设计;
z轴: 数据扩展能力
z轴关注数据的扩展能力,它按照业务类型或数据属性进行数据分片。根据数据分片策略将数据集划分为不同的数据子集,提升数据的扩展能力。如按照地域、机构或按照客户ID哈希进行数据分片;
z轴的典型实践案例有: 数据库水平切分和单元化架构;
总结
AKF可扩展能力立方体模型的x、y、Z轴代表的三个维度相辅相成,涵盖业务和技术的多个领域;
通过克隆应用和数据库实例,可以提高应用和数据库的业务承载容量,对应x轴扩展能力;
通过划分业务职能边界建立领域模型,以拆分应用和设计微服务,可以提高业务的复用和扩展能力,对应Y轴扩展能力;
通过分片策略将数据集拆分为多个数据子集或业务单元,可以提高数据的扩展能力,对应Z轴扩展能力;
企业将多个不同维度的扩展能力融合在一起,就可以实现应用能力的无限扩展了;
企业数字化转型的重要关注点
提升技术能力,完成从集中式架构向分布式架构的转型
降低应用建设复杂度,完成从单体到微服务的转型
微服务业务职责单一,团队规模较小,可以更好地实施敏捷开发。微服务软件部署包较小,可以更好地上云,实现应用弹性扩展能力,提高自动化的运维能力,更好地管理和利用好资源;
提升业务复用能力,从IT重复建设到中台战赂
通过划分业务边界构建领域模型,将可复用的业务能力沉淀到中台领域模型,建立企业级整体解决方案,实现业务和流程的组合、复用和融合;
提升移动运营能力,从传统PC端向移动线上化转型
智能技术在移植到PC端应用时,总是受限于PC端应用各种条件的限制,存在这样或那样的“水土不服”。但这些智能技术在移动端应用中却可以实现完美结台。移动端应用有更好的用户体验设计,正吸引着越来越多的用户,也改变了用户的消费行为和使用习惯;
提升企业组织能力,建立与中台相适应的组织架构和万法体系
组织优化是企业数字化转型面临的最复杂、最棘手的问题,需要一把手用很大的魄力来推动;