2月5-7日QCon全球软件开发大会携手100+位大咖讲师与你相约北京,完整日程已上线>> 了解详情
写点什么

中台建设踩坑史,别说这些问题你不会遇到

刘诗遥

  • 2019-09-25
  • 本文字数:2765 字

    阅读完需:约 9 分钟

中台建设踩坑史,别说这些问题你不会遇到

“中台”是 2019 年技术圈的热词之一,从观望到试水,很多公司做出了从 0 到 1 的探索。本文采访了蘑菇街技术专家刘诗遥(花名英斗),主要分享了蘑菇街中台建设过程中的坑。他也将在 10 月 17~19 日召开的QCon上海2019分享蘑菇街中台转变之路的更多实践案例,敬请关注!


中台建设背景

在蘑菇街,平台技术团队一直是作为强有力的支撑力量在构建着蘑菇街技术中台,他们不仅维护了与云厂商交互的云适配层,也维护了蘑菇街的一些高效业务中间件。而电商、直播、内容三大业务部门也是各自支撑自己的业务内容,但是每个业务部门内的中台建设推动则是在 2019 年初。通过对业务发展趋势的理解,可以预判出技术未来的方向,在中台改造的过程中按照中台演变的方式来进行部门内人员的分工,提前为公司业务的调整做好了技术侧基础的搭建,改造进行的几个月后,公司的组织架构也如预判一样进行了相应的调整。基于这样变动的原因主要来自于以下的考虑:


  • 在年初的几个项目实施过程中,我们发现当项目涉及业务系统较多时,各系统在实现时仅考虑自己系统的实现部分设计;

  • 设计后的方案虽说在每个业务领域内合理,但是新项目的维护却十分困难;

  • 同时这些新实施的内容大多偏向于很多业务的组合,并不能很好的归属到某一个业务范畴;

  • 通过对业务的预判,我们认为公司会不断进行深入产业链的内容,类似的业务支持还会有很多,而且这些业务的维护周期可能很长、也可能仅有几天,而这些都和传统互联网架构产生冲突。


在做中台之前,一些业务需求的实现如果涉及多个业务领域系统的时候,各内容仅会对自己的业务维度进行思考,现在可以站在全局的维度上,了解需求的更合理设计方式,并且不断强化各业务自身的能力;而在现在,一些新业务的支持,仅需要将各业务领域系统的功能做简单组合即可完成。


中台建设战略

在蘑菇街中台的实现也是会区分技术中台和业务中台的;技术中台主要是由云适配层、业务中间件、直播公共技术等模块组成的,下面会针对这几方面展开说明:


  1. 云适配层:由于蘑菇街是借力云厂商的云化架构体系,所以云适配层在初期就是为了适配不同云厂商而建立的;但是在不断发展的过程中,我们逐渐发现云厂商在不同方面提供的能力各有强弱,而针对云厂商的灾备考虑等也使得云适配层在不断强化,逐步会演变成为适配混云架构的核心接入层。

  2. 业务中间件:在业务不断升级和转变的过程中,我们发现针对业务的支撑会有大量可抽象可复用的功能形态,而针对于这部分的功能又无法归属到业务的范畴之内,所以我们针对于这部分内容抽象出了业务中间件;而业务中间件的产生,也大大的提升了业务研发的效率,减少了很多重复功能和重复架构的负担,这也使得业务中间件逐步成为技术中台中的重要一员。

  3. 直播公共技术:在业务发展的过程中,直播业务的能力也在不断迭代和发展,我们发现直播的底层技术可进行充分的解耦,抽离出与业务相关较小的核心技术模块;借此契机,我们开始了针对于直播公共技术的剥离,进一步使得剥离后的部分成为可被其他业务复用的基础技术,从而达到通过这部分内容而为其他业务赋能的目的。


除了技术中台的组成外,业务中台的组成也可以总结为以下几部分:


  1. 商品、交易、促销等电商核心业务:整合了电商相关的核心功能,为其他业务变现提供电商的支撑。

  2. 内容核心业务:包含了内容相关的完整能力,可以快速为其他业务提供内容侧的相关功能,并支撑内容与其他业务的结合。

  3. 直播核心业务:包含了主播、机构等直播核心业务的核心技术,可为其他业务快速提供直播相关的核心数据和核心业务逻辑,能快速支撑业务的快速调整和业务交叉。


中台改造问题

在建设中台的过程中,还是产生了不少的问题的,而下面这些问题可能在很多公司建设时都可能遇到:


  • 在中台建设过程中,业务仍然需要快速迭代,所以就出现了改造和业务实现并行的问题

  • 这个问题应该比较常见,在一些改造与重构时也会遇到类似的问题,中台的建设无法在业务完全停止的情况下进行,这种情况就类似于一个常见的比喻,就是给飞行中的飞机换引擎;

  • 我们的解决方法就是梳理和分类业务领域内的系统功能,然后逐一进行中台维度抽离和改造,当日常业务需要这部分功能时,通过切换开关和流控的方式将外层对于功能的依赖,逐步转化为使用中台改造后的功能,类似通过一层网关来达到对于新旧内容的路由,而不影响外部业务的迭代。

  • 人员的变动也是中台建设过程中碰见的一个难题

  • 中台的改造是对核心技术部分进行修改和重新划分,那么人员的变动必然会让新接手的人员增加熟悉的工作,这个也是碰见的难题;

  • 但是,当我们发现熟悉的工作无法避免之后,我们开始进行人员的调整,让其他业务领域的人员来进行跨领域内容的熟悉,通过这样的方式,我们让各业务领域的人员都对全局有了更深入的了解;

  • 所以,通过跨领域人员的调动,来达到对不同业务领域内容的了解,可以让中台的改造向着更适合的方向前进。


中台提效案例

在蘑菇街,业务中间件作为技术中台的一部分,它的核心目的就是为了提升日常的研发效率,所以类似案例还是有很多的。在日常的业务研发过程中,我们发现各系统都有对较长生命周期的缓存需求,而每个系统都要自行研发一套针对于缓存的读取,和增量与全量 DUMP 的流程。鉴于这种需求的抽象,我们抽离出这套逻辑内容,研发出了蘑菇街现在在较多系统所使用 Zonda 中间件,通过简单的配置,就可以完成对此类似功能的实现,大大提升了日常业务研发的效率。更多案例分享,将会在QCon上海站的“业务中台化演进”专题中跟大家分享。


未来演进计划

蘑菇街中台的未来大概也会从技术中台和业务中台两方面来进行:


技术中台方面:


不断优化现有的业务中间件,抽离业务需求实现过程中的公共内容,不断为业务研发提升效率;


  1. 针对业务发展过程中的一些基础技术进行剥离,将例如直播的底层技术不断做强做厚,可以让直播技术与其他业务的结合提供更多的可能性;

  2. 混云架构的持续推进,实现基础设施部分在灾备方向上的可控。


业务中台方面:


  1. 业务中台建设首先要注重各业务领域系统的能力沉淀,不断提升中台层面上各业务领域系统可支持的能力,为之后业务的快速搭建或者业务的快速转型提供一个坚实的基础。

  2. 除此之外,业务方向上的预判能力也是业务中台演进计划上的考量之一,通过考虑业务的发展方向,预判未来业务所需要的能力,在业务中台建设的过程中,提前设计这些业务所需要的功能。


采访嘉宾介绍

刘诗遥,花名英斗,现任蘑菇街技术专家。曾就职于京东、支付宝等公司,2016 年加入蘑菇街。目前在蘑菇街负责电商技术相关业务架构工作,主要职责是在业务方向上,明确技术规划和业务技术架构,并完成相关技术方案的落地。曾负责推动蘑菇街大促等项目的进行,协调并完成技术中台内容与业务侧的深度结合等。


QCon上海2019的演讲中,刘诗遥将结合业务和技术两方面的视角,为你详解蘑菇街中台建设过程中的难点和变通之法,帮你避开中台设计过程中必踩的坑,点击了解详情


2019-09-25 08:001986

评论

发布
暂无评论
发现更多内容

前端食堂技术周刊第 59 期:GitHub Universe 2022、Rome v10、Parcel v2.8.0、可扩展的 CSS 演变、Solid Start Beta

童欧巴

CSS vim Github Action

StarRocks 技术内幕 | 多表物化视图的设计与实现

StarRocks

数据库 数据分析

从简历被拒到收割8个大厂offer,我只用了三个月的时间成功逆袭

程序知音

Java java面试 后端技术 Java面试题 Java面试八股文

java程序员可以参加大数据培训吗

小谷哥

Linux自动挂载 (autofs)

追风少年

11月月更

python小知识-python 文件操作

AIWeker

Python python小知识 11月月更

于雨荣获 2022 年度 "OSCAR 尖峰开源人物"

apache/dubbo-go

HA软件是做什么的?主要作用是什么?

行云管家

高可用 ha 双机热备

杀疯了,GitHub疯传2022Java面试八股文解析+大厂面试攻略

程序知音

java架构 程序员面试 后端技术 Java面试题 Java面试八股文

java培训如何入门,怎么选择靠谱机构

小谷哥

万物互联,合作共赢:中国物联网行业发展洞察2022

易观分析

物联网 报告

零基础学习大数据培训难吗?

小谷哥

国有银行发挥普惠金融“头雁”效应,业务成果领跑商业银行

易观分析

普惠金融

[力扣] 剑指 Offer 第一天 - 用两个栈实现队列

陈明勇

Go 数据结构与算法 力扣 11月月更

webpack配置完全指南

Geek_02d948

webpack

云管平台厂家联系方式谁有?咨询电话多少?

行云管家

云计算 云服务 企业上云 云管平台 云资源

一篇神文就把java多线程,锁,JMM,JUC和高并发设计模式讲明白了

程序知音

Java 高并发 性能调优 java架构 后端技术

ONES 出席产业互联高峰论坛,分享金融企业研发管理实践

万事ONES

智慧物流数字孪生系统

申扬科技

智慧物流 数字孪生

如何通过Java代码压缩PDF文档?

在下毛毛雨

Java PDF 压缩PDF

瓴羊Quick BI,自助式报表分析工具让企业运营更高效

巷子

上海前端培训课程应该怎么来学习呢?

小谷哥

Javaweb —— Servlet 生命周期

追风少年

11月月更

彻底搞懂nodejs事件循环

coder2028

node.js

webpack高级配置

Geek_02d948

webpack

python小知识-模块

AIWeker

Python python小知识 11月月更

爱了!阿里技术官亲笔的Java快速面试指南,熬夜啃完剑指大厂

程序知音

Java java面试 java架构 后端技术 Java面试八股文

亚洲合作资金项目“上合国家软件产业和数据治理合作论坛”在京召开

Geek_2d6073

聚焦“教-学-评-测-练-管一体化”,推动新型人才培养!

华为云开发者联盟

云计算 后端 华为云

一文读懂NodeJs知识体系和原理浅析

coder2028

node.js

大数据培训学习的时候有什么方法吗

小谷哥

中台建设踩坑史,别说这些问题你不会遇到_语言 & 开发_InfoQ精选文章