架构实战案例解析
王庆友
前1号店首席架构师
立即订阅
2041 人已学习
课程目录
已更新 15 讲 / 共 22 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 想吃透架构?你得看看真实、接地气的架构案例
免费
概述篇 (1讲)
01 | 架构的本质:如何打造一个有序的系统?
业务架构篇 (9讲)
02 | 业务架构:作为开发,你真的了解业务吗?
03 | 可扩展架构:如何打造一个善变的柔性系统?
04 | 可扩展架构案例(一):电商平台架构是如何演变的?
05 | 可扩展架构案例(二):App服务端架构是如何升级的?
06 | 可扩展架构案例(三):你真的需要一个中台吗?
07 | 可复用架构:如何实现高层次的复用?
08 | 可复用架构案例(一):如何设计一个基础服务?
09 | 可复用架构案例(二):如何对现有系统做微服务改造?
10 | 可复用架构案例(三):中台是如何炼成的?
技术架构篇 (4讲)
11 | 技术架构:作为开发,你真的了解系统吗?
12 | 高可用架构:如何让你的系统不掉链子?
13 | 高可用架构案例(一):如何实现O2O平台日订单500万?
14 | 高可用架构案例(二):如何第一时间知道系统哪里有问题?
架构实战案例解析
登录|注册

06 | 可扩展架构案例(三):你真的需要一个中台吗?

王庆友 2020-03-04
你好,我是王庆友。前面的课程,我们从单体架构开始,讲到了微服务,今天我们就接着讲最新的中台架构。
关于中台,最近比较火,你可能也听到过不少关于它的讨论,但中台究竟是什么?它能解决什么问题?相信你不一定非常清楚。今天,我就为你解决这些困惑。
讲中台之前,我们先来理解下前台和后台,这样,你才能更清楚中台的定位。
前台比较好理解,指的是面向 C 端的应用,比如像微信、淘宝这样的应用。不过,你要注意,前台不仅仅是指前端,它还包含和前端配套的服务端。
后台指的是企业内部系统,比如 ERP、CRM、仓库管理系统等等,主要是面向企业内部人员使用。对于传统企业来说,之前只有线下场景,通过内部的后台就能完成所有业务流程;而对于互联网企业,或者逐步开展线上业务的传统企业来说,同时需要前台和后台,一起协作,完成业务的闭环。
但问题是,前台和后台的特性是不一样的。前台对外,我们知道,消费者的需求快速多变,所以前台需要能快速响应,做到低成本试错;而后台对内,企业内部的业务流程不能经常变,所以后台需要稳定,不能随意调整,一旦改动,影响面广,成本很高。
简单地说,前台要快,后台要稳,因此在业务扩展时,我们经常会遇到以下两类挑战:
这个营销思路很棒,老板希望能马上验证,前台好改,但后台调整起来需要好几个月;
后台系统技术旧,性能差,接口不开放,前台对接起来很麻烦,而且一有促销活动,后台立马就挂。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《架构实战案例解析》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(23)

  • 🔥 置顶
    老师,你好,关于中台这块有个问题,需要指点一下,如果我中台每个服务一个数据库,业务这边我有很多微服务,这时我的表分散开来,有时会涉及到中台和业务多个库连表查询的问题,请问老师这块在微服务中应如何处理。
    1. 如果垮裤连表查询我需要制定多个数据源,而且性能比较低。
    2. 如果添加本地冗余表,会形成大量表和同步任务,不好维护。
    3. 有没有一个中间件可以做到隔离数据库分库实现细节,在业务外层就相当于一个数据库。
    如果使用mysql,mycat这种情况该如何实现。
    4. 如果使用newsql类的数据库,如tidb是不是可以解决掉。

    作者回复: 首选是我们做好数据边界划分,尽量避免不同库之间join。如果实在有依赖,
    1. 冗余是一个可行办法,但尽量要避免,这要看具体情况,如果冗余的数据经常变,问题会比较大。
    2. 还有就是在A服务里拿到一堆ID,再调B服务的批量接口
    3. 还可以通过缓存提升性能问题。
    4. 有些报表类需求可以通过BI或大数据支持
    #3 变成一个大的逻辑数据库这种方式无法解决。
    #4 tidb具体我了解不多,某些场景应该可以,不知在sql支持,性能和可用性方面有没有达到传统数据库的能力。

    2020-03-12
    1
    1
  • 默然 置顶
    王老师,您好!我所在的公司是传统行业,目前想从传统企业转型到数字化企业,目前后台基础平台架构也未成型,一切从0造1的现状,研发团队根据业务分成了多个业务线,想做业务数据双中台,具体实施步骤,您有什么好的建议吗?期待老师的回复,谢谢

    作者回复: 具体情况不清楚,只能从大的方面来说,之前传统企业落地一些系统,只是初步做到核心部门的信息化,系统之间的信息是割裂的。全面数字化要求全局一盘棋,还要涵盖直接面向用户的场景。建议的做法是,首先梳理下企业有哪些核心的业务能力,比尔商品,订单,促销,库存等,然后考虑怎么基于现有的各个系统显式地构建这些能力,然后把这些能力输出给消费端,并通过这些核心能力实现后台系统的打通,形成有机整体。

    2020-03-04
    1
  • 阿男
    先抢个沙发,1.这两年中台的概念比较火,但是也不能忙目跟风,2.是中台思想有点像设计模式里面的适配器模式,做了一个中间层,把前台与后台耦合开
    2020-03-04
    3
  • 孙同学
    https://www.processon.com/view/link/5e51378ce4b0c037b5f9d1e3 学习整理更新
    2020-03-04
    2
  • 黄海峰
    不得不说,之前一直把前后台也理解成了前后端。。。
    2020-03-04
    2
  • 最常听到的名词是“大中台,小前台”,大中台是一个稳定的,可共享,可复用的的能力中心;小前台是为了适应变化,求快。
    2020-03-05
    1
  • Jeff.Smile
    老师,后台和中台之间的适配器,主要一个核心功能就是从后台同步数据给中台,之所以这样做是因为传统后台的内部系统如erp等主要给内部员工操作界面使用,从设计初衷看不适合开放api给外部直接调用,所以中台就通过适配器把后台的数据同步过来,有了后台的数据,中台就可以完整且自由对前台提供高性能、高并发的服务了,不知道我理解的正确不?请老师指教☺

    作者回复: 差不多,同步是双向的,中台也要往后台同步数据,比如中台把订单推送给收银系统。

    2020-03-05
    1
    1
  • Better me
    老师您好,想问下业务中台下的技术平台(中间件平台)和所谓的技术中台有什么区别

    作者回复: 同一个意思,我们讲中台是企业级能力复用,业务的复用已经包含技术的复用,没必要单独提技术中台。

    2020-03-04
    1
  • 一步
    解决企业遇到的问题,总的来说就是加中间层,一层不行,就多层<没有加中间层解决不了的问题😄>
    2020-03-04
    1
  • Kǎfκã²⁰²⁰
    隔壁王健老师一语中的,中台是企业级能力复用平台
    2020-03-04
    1
  • 250ZH
    中台的作用即连接了前台与后台,也分割了前台与后台,使前台和后台更能灵活变化。当前台需要变化,不影响后台的运行,同样,后天变了也不影响到前台,不知道这个对中台作用的理解是否正确
    2020-03-21
  • 250ZH
    以前一直以为自己是写后台的,现在才发现其实是前台,哈哈哈
    2020-03-20
  • jun
    1、通用业务聚合平台,统一提供业务接口供外部使用,适应业务的多变性;
    2、通用业务平台,也是各领域的服务平台,提供基于本业务领域的基础数据服务,供业务聚合平台使用;
    3、通用中间件,提供基础服务的应用比如DB、MQ、监控、邮件、日志等等;
    2020-03-19
  • 小洛
    请教老师平台化和中台化的区别

    作者回复: 平台很多地方都可以说,比如技术平台,运维平台,只要定位类似,有比较多的内容,都可以号称平台。

    中台特指对系统的某些部分进行封装,可以提供企业级业务能力的复用,你可以认为中台是一个特殊的平台。

    2020-03-15
  • 深山小书童
    老师您好,能否举例说明一下通用聚合服务呢。按照我的理解,应用平台调用通用基础业务服务和技术服务,如果涉及到聚合会在应用服务和前端直接加一层bff。所以这个通用聚合服务不是很理解,请老师多多指教。

    作者回复: 典型的聚合服务,比如下单功能,它涉及查询用户和商品信息,扣库存,生成订单,需要聚合一系列的基础服务,我们就可以在共享服务之上,创建一个下单服务。各个应用调用下单服务,比如说团购下单,秒杀下单。有些聚合逻辑不是很通用,没有复用价值,这个整合逻辑可以直接在应用里实现。

    2020-03-13
  • Mandalorian
    这个中台咋一听,像1号店APP的v1.0架构啊。

    作者回复: 还是有本质差别,一个是jar依赖的单体应用,直连数据库,一个是结构化的服务体系。

    2020-03-11
    1
  • 张明云
    业务没有共性(比如教育行业的搜题业务、直播业务、作业检查业务、同步学习业务等,无论从业务还是流程上都没有共性),但期望通过技术复用提高研发效率、节省成本(引入第三方技术的成本),这种情况适合做中台吗?

    作者回复: 技术平台该做的要做,统一使用中间件,总结使用的坑,落地统一的监控等等。但这个到不了中台的层面,不包含业务的中台提法,我个人觉得有点勉强。

    2020-03-09
  • 修冶
    老师你好,请教下流程编排一般是怎么实现,有现成的框架吗?

    作者回复: 一般不建议在框架或中间件里做流程编排,否则业务逻辑不透明,就像以前的esb一样。现在都是直接建一个流程服务来实现。

    2020-03-07
  • dowannado
    20200307 传统 互联网 企业级能力复用平台
    2020-03-07
  • 小伟
    关于各业务系统提供价值输出到适配层,个人的体会是输出价值的质量取决于各业务系统的配合程度。
    此外,业务系统自己往往也不清楚输出的价值是如何被使用,去理解如何被使用的意愿也不高,可能存在少输出和乱输出,还是需要高层统筹规划各业务系统。
    2020-03-07
收起评论
23
返回
顶部