写点什么

中台、DDD 与微服务

用户头像
南宫煌
关注
发布于: 2020 年 08 月 12 日

中台、DDD与微服务

中台的定义来源于阿里的中台战略。2015年年底,阿里巴巴集团对外宣布全面启动阿里巴巴集团2018年中台战略,构建符合数字时代的更具创新性、灵活性的“大中台、小前台”组织机制和业务机制,即作为前台的一线业务会更敏捷、更快速适应瞬息万变的市场,而中台将集合整个集团的运营数据能力、产品技术能力,对各前台业务形成强力支撑。



中台的本质是提炼各个业务条线的共同需求,并将这些功能打造成组件化产品,然后以API接口的形式提供给前台各业务部门使用。前台要做什么业务,需要什么资源可以直接找中台,不需要每次去改动自己的底层,而是在底层不变动的情况下,在更丰富灵活的“大中台”基础上获取支持,让“小前台”更加灵活敏捷。



中台战略的主要目标是实现公共需求和功能的中台化共享,减少重复建设和投入,为前台提供统一的一致服务。至于前台应用是否可以有数据库?抑或采用什么样的开发技术,这些都不是重点,重点需要考虑的是那些公共需求和需要共享的功能是否通过中台的方式被前台使用了。



领域驱动设计中领域的定义:一个领域本质上可以理解为就是一个问题域,只要是同一个领域,那问题域就相同。所以只要我们确定了系统所属的领域,那这个系统的核心业务,即要解决的关键问题、问题的范围边界就基本确定了。领域的本质是问题域,问题域可能根据需要逐层细分,因此领域可分解为子域,子域或可继续分为子子域。。。



在领域驱动设计中根据重要性与功能属性将领域分为三类子域,分别是:核心子域、支撑子域和通用子域。决定产品和企业独特竞争力的子域是核心子域,它是业务成功的主要因素和企业的核心竞争力。没有个性化的诉求,属于通用功能的子域是通用子域,如登陆认证。 还有一种所提供的功能是必须的,但不是通用也不是企业核心竞争力的子域是支撑子域,如单证。





DDD:核心域、支撑域和通用域



中台、领域以及微服务属于不同层面的内容,稍作分解我们理清他们之间的关系。



以保险领域为例,业务中台大致可分为两类:第一类是提供保险核心业务服务的专属业务中台(如承保、理赔等业务);第二类是支撑核心业务流程完成保险全流程的通用中台(如主数据、客户、用户以及电子保单等)。



专属业务中台是保险企业的核心竞争力,对应DDD的核心子域。通用中台对应DDD支撑子域和通用子域。不同领域可根据领域大小进一步细分多个子域,多个子域可对应到一个业务中台,一个业务中台也可能会分解成多个子域。





中台、领域以及微服务



微服务是技术实现和部署的范畴,实现领域或中台的业务逻辑,为前台应用提供服务。领域根据限界上下文可以设计为多个微服务,而如果限界上下文过大,一个微服务也可能会包含多个子领域。



中台是由多个业务条线的共同需求所构成,是需要共享的业务功能和服务单元的集合,一个中台可由一个微服务来实现,也可根据领域驱动设计和微服务拆分原则细分为多个微服务,多个微服务功能集合共同组成一个中台。



用户头像

南宫煌

关注

还未添加个人签名 2019.10.08 加入

还未添加个人简介

评论

发布
暂无评论
中台、DDD与微服务