你好,我是前台,再给你引荐下XY台

你好,我是前台,但请不要误会,我是前台不代表我只是个前端,我是一个包含后端服务和前端应用的前台,只是我距离业务比较近,所以公司的人都把我们叫做了前台。

 

都说了我距离业务比较近,那我当然要快速响应业务,去及时的实现需求,响应需求的变化,消费者的需求实在多变。

 

而且,在这样的变化频率中,我还要能够做到试错的成本,要低。

 

对,我要的是变化,而且是成本低的那种变化。

 

怎么办。

 

你好,我是后台,公司的ERP、WMS、CRM都在我这里,当然,现在的互联网企业中,订单服务、商品服务、用户服务等等,也都在我的地盘里。

 

我不想随着前台的变化而变化,前台变自己的,我不想随意的调整,因为,我一动,有时候影响面就非常大,成本也高。

 

我就想保持我自己的业务流程稳定。

 

对,我要的是稳定。

 

怎么办。

 

小插曲1:

 

有一天,前台找到了后台,商量一下,让后台给前台提供接口,有个手机的促销活动,需要短时间上线,于是后台给前台封装了一个接口。

 

没过多久,前台又来找后台,这次还是个促销活动,商品变成了电视,而且规则也变了,后台再次给前台封装了一个接口。

 

又没几日,前台再次找到后台,上次做的手机促销的相关接口,我要改变下,你能否支持支持。好了,后台突然说,我知道了,我们不能这样下去了,你的变化太频繁。

 

小插曲2:

 

小王在一家电商公司做程序员,先是在主站,亲身经历了商品的搜索、购物车、下单、支付流程的开发。

 

后来公司拓展线上业务,开辟了一个新的业务场景,采用了小程序的方式来为C端用户提供服务。

 

小王得知后,很是感兴趣,申请异动到了新的业务部门。

 

来到新的岗位的小王,在过了一段时间之后,发现这里的流程仍然是商品搜索、购物车、下单、支付。

 

于是,小王跟着团队又走了一遍类似的流程开发。

 

突然,小王意识到,不能这样,如果公司再发展一个类似的业务线,岂不是要又来一遭。

 

你好,我是中台。

 

你要效率,他要稳定,那么我在思考,我应该怎样帮助你们呢。

 

首先,我想到了如果要提高前台效率,是不是可以复用一些业务场景,比如下单流程,这样不同的业务来了,基础的下单流程是不变的。

 

那么,后台,你是不是就需要来抽象一下,有哪些通用的,共享性的服务可以提供出来。

 

然后,由我来把这些通用的服务横穿起来,这样的话,我觉得我能帮助你们,来实现平滑的对接。

 

 

“人”到齐,开始对话。

 

后台:我想了下,中台的建议很好,基础的业务数量,毕竟,还是有限的,我觉得可以让这些有限的,而且相对固定的业务作为基础。

 

前台:我是距离业务形态最近的地方,上层的业务场景是相对多变的,我肯定希望后台你能够将那些通用的基础业务,进行平台化,然后来支持我。

 

中台:是的,我就想收敛一些业务场景,来统一这些业务规则,把后台的这些业务抽象封装一些,然后,对外提供标准化的接口。通过有限的且固定的基础业务,来满足无限的且快速变化的前台业务场景。

 

前台、后台:那我们开始干吧。

 

中台:哈,我已经有了方案。

 

 

开始执行。

 

稍等,如果,我是说如果,后台系统首先已经微服务了。

 

这样,执行起来就稍微轻松些。

 

什么逻辑,为什么就轻松些了,松散的微服务->共享服务体系->中台,就是这样的逻辑,中台是微服务的升级。

 

互联网企业大多都已经实现了微服务化,象上面提到的订单服务、商品服务、用户服务,升级到中台之后就是订单中心、商品中心、用户中心。

 

不就是变了个名字吗?

 

当然不是,中心强调了体系化,有更好的业务通用能力,更好的系统运营能力,更好的业务运营能力。

 

咋实现的。

 

路子:模块化->规范化->接口化。

 

对于原来嵌入某个具体业务的模块,对其中的特殊部分(也就是原有的业务信息)进行剥离,使其变成一个公共的模块并且与原有业务没有任何关系,形成模块

 

将剥离出来的模块与之前调用的业务线进行内部统一,使其变为多条业务线在操作同一事物。同一事物的名称、属性都能保持一致,形成规范

 

通过对剥离出来的模块进行设计,使其拥有接收外部输入信息与向外传送该模块计算结果的接口,形成接口

 

哦,就是这个道理。

 

为不同的前台业务提供可以重复使用的能力,形成一次建设、多次使用的效果

 

向前台业务提供服务共享,更好地支持前台业务方快速地响应用户需求。同时,降低软件开发的边际成本,最大化开发人员的生产力,最小化系统的运营总成本

 

后传。

 

有一天,前台想了下,我要把我的后端服务给扔出去,我只想轻松上阵,就玩JavScript、H5、Android和Ios,可以不。

 

那后端服务该扔到哪里去呢,哦,可以,那是BFF。

 

前台,后台都不想增加自己的成本,那么成本会凭空的消失吗,不会。

 

只会转移,去转移到一个“甘心情愿”接收这个成本的地方去,但是呢,这个地方也不是时刻都在增加成本,它是一次性的建设成本,以后前台、后台都来复用它。

 

再后传。

 

任何事情都可以从微观和宏观两个方面来考虑。

 

比如复用这件事。

 

先说微观上

 

在一个程序里面的时候,我说的这个程序是运行在一个进程中的。

 

比如,有同学写了一个计算时间的方法,给定一个日期和变量,就能给你算出来任意一个日期,这位同学把这个方法封装在了一个类里面。

 

其他同学都在使用这个类,这就是复用。

 

写这个类的同学,把这个类打成了一个jar包,其他同学通过maven来下载使用,这是更好的复用。

 

再说宏观上

 

有一个同学,在系统A里面,写了一个查询订单的模块,给定一个用户和日期,就能给你返回这个用户的订单信息列表,这位同学把这个功能封装成了一个API接口。

 

维护其它系统E、F、G的同学都在通过这个API来请求订单数据,这是跨进程的复用。

 

微观,进程内,宏观,进程间。

 

中台在哪里

 

先别急,来看个例子,《中台产品经理宝典》一书中,有这样一个形象的例子。

 

说一个客流量非常大的餐厅,有3名厨师来负责买菜做菜,如何来解决缩短客人等餐的时间呢。

 

很多人第一想到的就是增加厨师,可是,餐厅也不是24小时,客流量都大,只有中午和晚上是高峰期。

 

这样,岂不浪费。

 

仔细分析了一下,将做菜的的任务进行拆分,做菜的流程:买菜-配菜(洗、切、配)-做菜。

 

于是,餐厅将买菜和配菜,来单独找了一个小师傅负责。

 

这里的小师傅做的事情,买菜、配菜便成为了复用。

 

当我们说中台在哪里,实际上,更想说的是中台思想在哪里。

 

就是复用的思想。

 

再回到,开始不久的地方,那位同学写的查询订单的API。当PC用到订单查询的时候,当移动APP用到订单查询的时候,当其它新业务场景用到订单查询的时候。

 

都可以使用订单查询API。

 

这个这个能力,查询订单的能力,复用给N多平台或者业务,这就是中台的思想。

 

是的,中台是一个词,更是一种方法论,是一种架构的思想。

 

中台的核心本质就是向前台提供共享服务,目标是更好地支持前台业务方进行规模化创新,从而更好的响应市场需求。

 

部分参考资料:

极客时间.王庆友.可扩展的架构案例(三):你真的需要一个中台吗?

《中台产品经理宝典》

文图来自网络

相关文章:

  • 2021-11-26
  • 2022-12-23
  • 2021-12-27
  • 2022-12-23
  • 2021-09-30
  • 2021-10-12
  • 2021-10-09
  • 2022-01-20
猜你喜欢
  • 2022-01-09
  • 2021-11-29
  • 2021-10-31
  • 2021-05-19
  • 2021-08-26
  • 2021-06-16
  • 2022-12-23
相关资源
相似解决方案