中台架构与实现:基于ddd和微服务下载_终于有⼈把前台、中
台、后台都讲明⽩了...
导读:很多⼈提到中台时⾃然会问:“既然有中台,那是否有前台和后台?它们各⾃的职责⼜是什么呢?”本⽂为你详细解答。
作者:欧创新 邓頔
来源:华章科技
我们来看⼀下阿⾥巴巴对前台、中台和后台职责的定位。
前台主要⾯向客户以及终端销售者,实现营销推⼴以及交易转换。
中台主要⾯向运营⼈员,完成运营⽀撑。
后台主要⾯向后台管理⼈员,实现流程审核、内部管理以及后勤⽀撑,⽐如采购、⼈⼒、财务和OA等系统。
企业级能⼒往往是前台、中台、后台协同作战能⼒的体现。
如果把业务中台⽐作陆军、⽕箭军和空军等专业军种,主要发挥单⼀军种的战术专业能⼒,那么前台就是作战部队,它会根据前线战场的实时作战需求,快速完成不同职能业务中台能⼒的组合和调度,实现不同业务板块能⼒的融合,形成强⼤的组合打击能⼒完成精准打击,获得最⼤企业效能。
⽽数据中台就是信息情报中⼼和联合作战总指挥部,是企业智能化的⼤脑,它能够汇集各类⼀线作战板块的数据和信息完成数据分析,制定战略和战术计划,完成不同业务中台能⼒的智能调度和组合,为前台作战部队提供快速数据和情报服务。
后台就是后勤部队,它们不直接⾯向前台业务,主要提供企业后端⽀撑和管理能⼒。
下⾯分别展开详细介绍。
01 前台
传统企业的早期系统有不少是基于业务领域或企业组织架构来建设的,每个系统都有⾃⼰的前端界⾯和后端业务逻辑,不同系统之间相互独⽴。⽤户操作是竖井式,有时⼀笔业务需要登录多个系统才能完成完整的业务流程,如图1-2所⽰。
▲图1-2 烟囱式的系统建设模式
完成中台建设后,进⾏前台建设时,需要⼀套企业级整体解决⽅案,以实现各种不同中台的前端操作、流程和界⾯的组合、联通和融合。不管后端有多少个中台,前端⽤户感受到的始终只有⼀个前台,如图1-3所⽰。
▲图1-3 前台业务的融合
在前台设计时,我们可以借鉴微前端的设计思想,通过企业级主应⽤与微前端应⽤集成,不仅可以实现前端页⾯逻辑的解耦和页⾯级服务的复⽤,还可以根据企业核⼼业务链路和业务流程,通过对不同业务板块微前端页⾯的动态组合和编排,实现企业级前台业务的融合。
微前端页⾯还可以融合到不同终端和渠道应⽤的核⼼业务链路中,实现前端页⾯、流程和功能的组合和复⽤,也可以满⾜场景化的销售要求,实现微前端应⽤的灵活快速发布。
02 中台
传统企业的核⼼业务⼤多是基于集中式架构开发的。这种集中式单体系统,⼀般都存在扩展能⼒弱、弹性伸缩能⼒差的问题,⽆法适应突发⾼频访问的互联⽹业务场景。同时,传统企业数据类应⽤⼤多通过ETL⼯具抽取数据以实现数据建模、统计和报表分析功能。
这种传统的数据仓库处理模式往往会存在数据时效性问题,再加上传统数据类应⽤主要⾯向企业管理和决策分析,并不是为前台⽽⽣的,因此难以快速响应前台⼀线业务的数据服务要求。
所以,在企业数字化转型时,需要同时解决传统的业务和数据应⽤建设的问题,采⽤双中台模式同步建设业务中台和数据中台。
1. 业务中台
业务中台的建设可采⽤DDD(Domain Driven Design,领域驱动设计)⽅法,通过领域建模,将可复⽤的公共能⼒从各个单体中剥离、沉淀并组合。采⽤微服务架构,建设成为可共享的通⽤能⼒中台。通⽤能⼒中台更强调标准化和抽象能⼒,⾯向企业所有业务领域实现能⼒复⽤。同样地,我们也可以通过微服务架构将核⼼能⼒建设成可以⾯向不同渠道和场景的可复⽤的核⼼能⼒中台。
核⼼能⼒中台设计时,需充分释放出极强的快速适应不同业务场景和渠道的企业核⼼能⼒,从⽽在⾯向不同渠道和客户时,能够快速灵活地持续发挥出企业的核⼼竞争⼒优势。
⽽通⽤能⼒则可通过抽象和标准化设计,让其具有更强的业务融合和企业级组合与⽀撑能⼒,通过企业主应⽤联通各个不同业务板块,发挥企业业务、数据和流程的黏合剂作⽤。
业务中台落地后的微服务可以向前端、第三⽅和其他中台提供API服务,实现通⽤能⼒和核⼼能⼒复⽤,如图1-4所⽰。
▲图1-4 微服务对外的服务⽅式
有⼀点需要注意:在将传统集中式单体应⽤按业务职责和能⼒细分为微服务,以及建设中台的过程中,会产⽣越来越多的独⽴部署的微服务。
这样做虽然提升了应⽤弹性伸缩和⾼可⽤能⼒,但由于微服务之间运⾏的物理隔离,微服务拆分会导
致数据的进⼀步分离。原来单体系统的⼀些内部调⽤也会变成跨微服务调⽤,再加上前后端分离设计后,还要完成前后端应⽤集成,这样会增加企业级应⽤集成的难度。
分布式和微服务的关系如果没有合适的设计⽅法和指导思想,处理不好前台、中台和后台的关系,将会进⼀步加剧前台业务和数据的孤岛化、碎⽚化。
2. 数据中台
为了打通数据孤岛,通过数据智能化实现业务和数据融合以及商业模式创新,⽀持在线数据服务,⽀持业务中台和前台的精细化数字化运营,企业需要同步建设数据中台。数据中台的主要⽬标如下。
⼀是完成企业全域数据的采集与存储,实现不同业务类别中台数据的集中管理。
⼆是按照标准的数据规范或数据模型,基于不同主题域或场景对数据进⾏加⼯和处理,形成⾯向不同主题和场景的数据应⽤,⽐如客户视图、代理⼈视图、渠道视图、机构视图等不同的数据服务体系。
三是建⽴数据驱动的运营体系,基于各个维度的数据,萃取数据价值,组合企业各种能⼒,⽀持业务智能化和商业模式的创新,实现精细的数字化运营。
相应地,数据中台的建设就可分为三步。
第⼀步,实现各中台业务数据的汇集,解决数据孤岛和初级数据共享问题。
第⼆步,实现企业级实时或⾮实时全维度数据的深度融合、加⼯和共享。
第三步,萃取数据价值,⽀持业务创新,加速从数据转换为业务价值的过程。
数据中台可以建⽴在数据仓库或数据平台之上,将数据服务化之后提供给中台或者前台应⽤。与数据平台相⽐,数据中台不仅服务于分析型场景,还更多服务于交易型业务场景,为前台业务提供数据智能服务。基于数据库⽇志捕获的技术,使得数据获取的时效性⼤⼤提升,这样就可以为数据中台的交易型场景提供很好的⽀撑。
综上,数据中台主要完成数据的融合和加⼯,通过数据智能化,实现智能化的业务和流程创新;通过萃取数据业务价值,提供数据服务,最终实现数字化运营。
03 后台
后台主要⾯向企业内部运营和后台管理⼈员。对于后台,为了实现内部的管理要求,很多⼈总会习惯将⼀些管理流程嵌⼊核⼼业务链路中。⽽这类内控管理类的需求对权限、管控规则和流程等要求⼀般都⽐较严格,但是⼤部分管理⼈员只是参与了某个局部业务环节的审核。
这些复杂的管理需求,会凭空增加不同渠道应⽤的前台界⾯与核⼼流程的融合难度以及软件开发的复杂度。
在设计流程审核和管理类功能的时候,其实我们可以考虑按⾓⾊或岗位进⾏功能聚合,将⼀些复杂的管理需求从通⽤的核⼼业务链路中剥离,通过特定程序⼊⼝嵌⼊前台App或应⽤中,专门供后台管理⼈员使⽤。⽽对于中台与后台的数据交互则可以采⽤事件驱动的异步化的数据最终⼀致性模式实现数据复制,减轻中台业务压⼒。
当管理需求从前台核⼼业务链路剥离后,前台应⽤将会具有更好的通⽤性,可以更容易地实现各渠道前台界⾯和流程的融合。前台应⽤或App就可以⽆差别地同时⾯向外部客户和内部销售以及其他业务⼈员,从⽽促进传统渠道与互联⽹渠道业务模型的统⼀和前台应⽤的融合。
关于作者:欧创新,某⼤型保险公司架构师,拥有⼗多年的软件架构设计经验。热衷于DDD、中台和分布式微服务架构设计。在DDD、中台和分布式微服务架构设计⽅⾯有深厚的积累,擅长分布式微服务架构设计。
邓頔,某⼤型保险公司⾼级⼯程师,全国青年岗位能⼿。致⼒于基于DDD的企业级中台微服务架构改造实践,精通前端开发相关技术栈,拥有丰富的企业级微前端实战经验。
本⽂摘编⾃《中台架构与实现:基于DDD和微服务》,经出版⽅授权发布。
延伸阅读《中台架构与实现》
资深架构师撰写,系统阐述基于DDD的中台和微服务建设⽅法论,深刻揭⽰中台从领域建模到微服务落地完整过程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论