供应链系统设计-中台系统设计系列(三)- 好中台的标准之稳定原则

概述

在上一篇供应链系统设计-中台系统设计系列(二)- 好中台的标准之复用原则中,我们以复用原则为主,讨论了以下3点:

  1. 前台业务效率提升:好的中台能够显著提高前台业务的效率,通过将前台业务中通用的元素能力沉淀到中台,避免重复造轮子,实现能力的复用。这种复用不仅减少了前台的工作量,也加快了业务响应速度和市场适应能力。

  2. 中台边界的合理划分:中台的边界划分应基于业务发展情况和场景需求,以复用性为原则。在业务发展的不同阶段,中台可能需要保持“小中台大前台”的架构,以便实现更多的复用。随着业务的成熟和稳定,中台可以逐渐扩展,沉淀更深层次和更广泛的业务能力,这个时候也许会慢慢形成“大中台小前台”的架构。

  3. 业务能力和原子能力的复用层级:中台的设计应当基于复用原则,将业务活动中可复用的部分抽象为业务能力,进一步细分为原子能力。这些能力的复用是中台系统设计的核心,它们可以跨越不同的前台业务场景,提供灵活、可扩展的服务。

以上就是对于好中台设计标准的复用原则的讨论。今天我们来讨论另外一个好中台的标准之一,就是中台稳定性。

同样,我们还是以上次餐厅菜品的例子,进行描述。同样的一家餐厅,提供了红烧牛肉、麻婆豆腐肉牛炖咸菜、豆腐炖咸菜四种。如下图所示:

洗摘小组将原材加工备菜:牛肉块、土豆块、豆腐块、葱花、咸菜沫。豆腐块和咸菜沫都是有的,这样四个菜品都可以复用这些备菜,所以厨师直接烹饪就可以了,大大的加快了上菜的速度。

但是有一天,厨师由于家中有事,请了一个星期的假期,从外面请了一位临时来救急的厨师。经过2天的营业,客户普遍反馈一个情况,菜品的味道之前有一点不一样了,吃起来的感觉差了一点什么。又经过3-4天的营业,反馈菜品不如之前的顾客越来越多,这可把老板给急坏了,最后由于老板的不停的催促,原来的厨师终于提前2天回来,针对菜品味道的问题。

经过厨师的确认,发现在一些菜品的制作工序上,和之前的不一样,对于麻婆豆腐的配料有3门是不一样的,对于火候和时间也存在一些差异,因此,最终导致菜品的品质存在差异。

上面提高了菜品的品质差异,我们来换一种说法就是,就是菜品品质的稳定性。因为菜品的味道会随着厨师的不同而不同,因此菜品的品质就会不稳定。

那如何来解决这个问题呢?如果不解决这个问题,如果餐厅老板要再开分店就特别难,因为对于一个餐厅来说,菜品的味道是非常重要的,决定一家餐厅是否能够留得下客户。因为一个厨师不可能同时帮2家或更多的餐厅来进行炒菜。因此,需要如何解决了菜品的拼的问题呢?

我们在讲前中后台的时候,提到了鱼你在一起的案例,因此,我们可以将备菜,加工成为预制菜,例如:红烧牛肉需要进行提前腌制,麻婆豆腐需要酱料,并且酱料还要遵循先煎后熬的烹饪工序。因此,厨师专门用来研发红烧牛肉的腌制酱料,以及烹饪工序和市场,这样可以保证红烧牛肉的品质,因为对于红烧肉来说腌制酱料是非常重要的,其实麻婆豆腐也是类似的。

因此,预制菜的本质除了客户让每个门店的能够复用,提高前台业务的执行效率外,其实来由一个非常重要能力就是,就是追求菜品品质的稳定性。

如果只能复制,不能保证菜品的品质的稳定性,那么你在鱼你在一起的餐厅中迟到菜品的味道,就是各种各样的,这样对于鱼你在一起的加盟商来说简直就是灾难。

其实,对于业务中台也是一样的,不仅仅让通过复用提高前台业务的效率,而且还需要提供中台能力的稳定性和系统的稳定性。

中台领域模型的稳定性

假设,我们中台有一个商品中心,商品中心里面会存在商品信息领域模型,商品信息分为;商品基本信息、商品扩展信息、商品销售信息和商品图片信息。

在商品基本信息中,有如图中所展示的属性,例如:商品ID、商品名称、商品昵称等等。

现在业务部门有需求,说需要在商品中根据商品的评论的数量和质量,来增加商品的热度,需要将商品在对应的品类下面,标识出来是否为热门商品。如果是热门商品,在用户搜索的时候,会把刚商品作为推荐商品展示出来。

需求非常简单,就是根据商品的评论数量和质量来确定是否为热门商品,而且评论TOP50的用户,也是热门的用户,因此,开发同学就是在商品基本信息上,加上了一个是否为热门商品的字段,以便用来标识这个商品是否热门商品。如下图所示:

写到这里,大家可以思考一下?这样合理么?

其实对于商品来说,可能被很多系统用到,例如结算系统、配送系统、库存系统等等,这些系统可能根本就不会关系,是否为热门商品,而真正关心的只有电商系统。因此,在商品基本信息模型上加上一个是否为热门商品的属性,其实只有的电商系统可以用,因此是否为热门商品,是用来做销售推荐的,类似于结算系统、配送系统、库存系统,可能从始到终都不会,而这样这做的后果是什么:

首先,增加了中台模型的复杂度。

其次,增加中台模型的不稳定性。

最后,影响到中台应用系统的稳定性。

如果有机会后面我会和大家聊聊领域模型设计,我在这边针对这个问题,最主要的原因是对于没有划定领域的边界,也就是DDD里面所说的限界上下文。是否热门商品其实不是商品的属性,热门商品主要是用来推荐,因此,我们可以看到热门商品这个概念和推荐其实是强关联。

因此,我们通过DDD的战略设计方法论中,抽象出来一个推荐的限界上下文,这样我们可以把热门用户和热门商品看成可推荐的资源,而可推荐的资源中,可以有热门用户、热门商品等,后续如果还要进行其他的资源的推荐,可以再次基础上就新型扩展了。如下图所示:

而如果我们把推荐商品的标识放到商品基本信息上,后面如果基于推荐商品衍生出来的一系列前台业务可能都会在商品领域来实现,例如:前台业务可能会按业务的不断发展,要求增加热门商品的分级,将热门分为ABC三类,分别对于ABC三门热门商品进行了定义:

  1. A类商品:指市场需求较大、用户购买频次较高的商品,一般是大众消费品或者热门商品。例如,服装、食品、家居用品等。

  2. B类商品:指市场需求相对较小、用户购买频次较低的商品,一般是中等消费品或者小众商品。例如,一些特色食品、文具、安防产品等。

  3. C类商品:指市场需求较小、用户购买频次较低的商品,一般是低端的消费品或者过季商品。例如,一些廉价的小饰品、塑料餐具等。

那商品中心是不是还要承载这些相关的业务逻辑呢?答案显然不是的。因此,中台领域模型的稳定性是非常重要,对于中台的领域模型需要有严格的边界划分和明确的标准。

否则,给增加中台的复杂度,从而可能会影响的前台业务的复用。因为类似热门商品,可能在前台业务中只有一到两个销售类的前台业务系统需要,其他的大部分系统是不需要的,现在不需要,可能未来也不需要。

而如果将这些业务逻辑在商品中心实现,这样不仅仅只是复杂度的提升,最重要的是随着复杂度的提升,中台系统的模型的稳定性就是大大的下降,作为中台作为前台的基础,如果中台的模型的稳定性下降,模型中掺杂了个别前台的独有的业务逻辑,就会要求中台的变化的速度就是前台的一样的,这样的变化显然会影响到其他的前台业务使用。

而经常的性的模型变化,可能会造成系统的稳定性差,因为今天修改一下商品基本信息,明天修改一下商品扩展性,修改可能会引入大量的系统BUG,如果在某个中台重要的能力上存在BUG,对于前台的系统来说可能就是灾难,从而导致服务不可用,直接影响到业务和客户使用,从而导致重大的线上生产事故,这个是可以接受的。

以上说清楚了中台模型复杂度所带来的问题以及可能会出现的问题。接下来,我们再来看看中台能力的稳定性。

中台能力的逻辑的稳定性

之前我们在将中台复用性的时候聊过什么是中台的能力,我之前的图放在这样,方便下大家再次回顾一下:

1、从第二层和第三层来存在的前台复用的可能性,因此,我们把第二层中每个小框中的统一叫做:业务能力。

2、第二层中“商品新增”,其实可以拆分成为不同的流程节点,而商品新增流程里面也是由多个流程节点组成,所以能力与能力之间是有层级的,不能再分的能力,我们称之为“原子能力”。

业务能力和原子能力,统一成为“能力”。

既然我们清楚了什么是能力,那么说说能力的稳定性。

例如:中台商品新增的原子能力,从系统角度来看可能最底层就是由多个中台的系统的接口提供能力原子能力,例如:新增商品基础信息的接口,最初的时候,商品基本就是包括:商品名称、商品昵称、商品品牌等基本的字段,基本上没有什么复杂的逻辑。例如:淘宝、天猫和健康都是类似的,但是由于健康业务的发展,健康业务在新增商品的时候,由于是药品,国家对于精神类药品的命名是有明确要求,需要按照国家有关规定来进行命名。而且这个命名规则,对于其他的业务来说是不存在的。

因此,开发思考了一下,商品的命名规则确实是属于商品命名校验规则的一部分,所以需要放到商品商品域来进行实现。所以,这个开发的在原有接口的基础上,为健康业务新开发了一个新的新增商品基础信息接口,这个这个接口就专门给健康业务来使用,封装了国家药品的命名规范,而原有接口不变,其他的相关的前台业务系统还是调用原有接口。

这样即满足了健康业务对于前台命名规则的需求,又对原有的前台业务和新增商品基础信息接没有影响,因此,看上去非常完美。

但是,在这里大家要思考一个问题,就是在业务中台的商品域,新增商品基础信息接口,有了两个不同的实现,这个两个新增接口其实里面的逻辑是不同的,一个是适用于普通商品的新增,没有对于名称校验的定制规则,一个是接口是针对药品类商品的接口,命名规则中包含国家对于药品命名的规范,所以这个两个接口的逻辑其实不同的。

在业务中台的接口中,对于同一个接口或能力定义,默认的实现只能有一个,为什么呢?

主要是业务中台定义的能力都是通用能力,主要是能够复用的标准实现。因为每个前端的业务其实都存在自己的业务特性,如果把这些各自的业务特性全部都下沉到中台,这个对于中台来说就是灾难,如果长此以往,则中台很难做到通用,因为它充满了前台业务的各种独有的特性,从而复用性和稳定性打卡折扣,直接导致的结果是,中台腐化,对于前台的支撑速度效率会变得非常慢,从而拖累了前台的业务创新以及落地的速度,导致中台战略的彻底失败。如下图所示:

好的中台一定是开发效率成为指数级增长,而不好的中台,随着中台不断的腐化,开发效率会越来越低,并且稳定性也会下降。

写在最后的话

今天和大家主要讨论了中台系统设计中的稳定性原则,通过餐厅菜品的例子来说明中台稳定性的重要性,并进一步探讨了中台领域模型稳定性和中台能力逻辑稳定性的问题。主要总结如下:

  1. 中台稳定性的重要性

    • 类似于餐厅菜品的味道稳定性,中台系统也需要保证服务和数据的稳定性,这对于保持业务连续性和客户满意度至关重要。
  2. 中台领域模型的稳定性

    • 中台的领域模型应该具有清晰的边界和标准,避免因为不同业务需求而频繁变更,这样可以减少系统的复杂度,提高稳定性。
    • 通过领域驱动设计(DDD)来定义限界上下文,可以将特定业务逻辑限制在特定的上下文中,避免污染其他领域模型。
  3. 中台能力的逻辑稳定性

    • 中台的能力应该是通用的、可复用的,并且具有一致性的实现。为特定业务定制的能力不应该影响中台的通用性。
    • 例如,商品新增的原子能力应该只有一个标准实现,即使需要为特定业务(如健康业务)定制,也应该保持原有接口的稳定性,通过新增专门的接口来满足特定需求。
  4. 中台稳定性的影响

    • 中台的稳定性直接影响到前台业务的复用性和系统的稳定性。如果中台模型和能力频繁变更,会导致前台业务系统也必须频繁变更,从而影响整个系统的稳定性。
    • 中台的腐化会降低开发效率,拖慢业务创新和落地速度,最终可能导致中台战略的失败。

一个好的中台系统应该能够支持业务的快速创新和稳定运行,而不是成为业务发展的瓶颈。因此,中台的设计和维护需要考虑到稳定性原则,确保中台能够长期有效地支持前台业务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTF 攻防世界 Web: FlatScience write-up

题目名称-FlatScience 网址 index 目录中没有发现提示信息,链接会跳转到论文。 目前没有发现有用信息,尝试目录扫描。 目录扫描 注意到存在 robots.txt 和 login.php。 访问 robots.txt 这里表明还存在 admin.php admin.php 分析 在这里尝试一些 sql…

axios请求拦截器和响应拦截器,封装naive-ui的 Loading Bar加载条和useMessage消息提示

接之前的博客设计从0开始边做边学,用vue和python做一个博客,非规范化项目,怎么简单怎么弄,跑的起来有啥毛病解决啥毛病(三),目前已经完成了基本的功能demo,但是请求接口不可能每个页…

Blue Ocean 在Jenkins上创建Pipeline使用详解

BlueOcean是Jenkins的一个插件,它提供了一套可视化操作界面来帮助用户创建、编辑Pipeline任务。以下是对BlueOcean中Pipeline操作的详细解释: 一、安装与启动BlueOcean 安装:在Jenkins的“系统管理”->“插件管理”->“可选插件”中搜索“BlueOcean”,然后点击“Ins…

opencv——识别图片颜色并绘制轮廓

图像边缘检测 本实验要用到Canny算法,Canny边缘检测方法常被誉为边缘检测的最优方法。 首先,Canny算法的输入端应为图像的二值化结果,接收到二值化图像后,需要按照如下步骤进行: 高斯滤波。计算图像的梯度和方向。非极…

基础库urllib的使用

学习爬虫,其基本的操作便是模拟浏览器向服务器发出请求,那么我们需要从哪个地方做起呢?请求需要我们自己构造吗?我们需要关心请求这个数据结构怎么实现吗?需要了解 HTTP、TCP、IP层的网络传输通信吗?需要知道服务器如何响应以及响应的原理吗? 可能…

剑指Offer|day4 LCR 004. 只出现一次的数字 II

LCR 004. 只出现一次的数字 II 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 **三次 。**请你找出并返回那个只出现了一次的元素。 示例 1: 输入:nums [2,2,3,2] 输出:3提示&#xff1a…

Mysql学习笔记之SQL-1

上篇文章我们介绍了Mysql的安装,这篇文章我们介绍Mysql的操作语言SQL 1. 简介 sql全称(Structured Query Language)是结构化查询语言,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 2. sql分类 …

埃隆马斯克X-AI发布Grok-2大模型,快来体验~

引言 近年来,人工智能技术的快速发展推动了大语言模型的广泛应用。无论是日常生活中的智能助手,还是行业中的自动化解决方案,大语言模型都扮演着越来越重要的角色。2024年,X-AI推出了新一代的大模型——Grok-2,这款模…

PostgreSQL的学习心得和知识总结(一百六十三)|深入理解PostgreSQL数据库之 GUC参数compute_query_id 的使用和实现

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

多线程编程杂谈(上)

问题 线程执行的过程中可以强制退出吗? 主动退出?被动退出? 问题抽象示例 需要解决的问题 g_run 全局变量需要保护吗? 如何编码使得线程中每行代码的执行可被 g_run 控制? 线程代码在被 g_run 控制并 "强制退…

【Git】:企业级开发和多人协作开发啊

目录 多人协作 模拟配置多人协作环境 多人同一分支开发 多人不同分支开发 远程分支删除后的问题 企业级开发模型 系统开发环境 分支设计规范 多人协作 模拟配置多人协作环境 目前,我们所完成的工作如下: 基本完成 Git 的所有本地库的相关操作&#xff…

【Sql优化】数据库优化方法、Explain使用

文章目录 一、金字塔优化模型二、SQL优化的利器:Explain工具1. Explain 的作用2. Explain 的用法 三、SQL优化方法(后续文章细讲)1. 创建索引减少扫描量2. 调整索引减少计算量3. 索引覆盖4. 干预执行计划5. SQL改写 四、通过 Explain 优化案例…

Deepmotion技术浅析(五):运动追踪

运动追踪是 DeepMotion 动作捕捉和 3D 重建流程中的核心模块之一。该模块的主要任务是在视频序列中跟踪人体的运动轨迹,捕捉人体各部分随时间的变化,并生成连续的 3D 运动数据。DeepMotion 的运动追踪技术结合了计算机视觉、深度学习和物理模拟等方法&am…

Android 系统应用重名install安装失败分析解决

Android 系统应用重名install安装失败分析解决 文章目录 Android 系统应用重名install安装失败分析解决一、前言1、Android Persistent apps 简单介绍 二、系统 persistent 应用直接安装需求分析解决1、系统应用安装报错返回的信息2、分析解决 三、其他1、persistent系统应用in…

使用Nexus3搭建npm私有仓库

一、npm介绍 npm的全称是Node Package Manager,它是一个开放源代码的命令行工具,用于安装、更新和管理Node.js模块。npm是Node.js的官方模块管理器,它允许用户从一个集中的仓库中下载和安装公共的Node.js模块,并将这些模块集成到…

【ChatGPT】解锁AI思维链:如何让机器像人类一样思考?

在人工智能领域,我们一直在追求让机器像人类一样思考。然而,即使是最先进的AI,也常常被诟病缺乏“常识”,难以理解复杂问题,更不用说像人类一样进行逻辑推理和解决问题了。最经常的表现就是遇到不会的地方,…

蓝桥杯刷题——day5

蓝桥杯刷题——day5 题目一题干解题思路一代码解题思路二代码 题目二题干解题思路代码 题目一 题干 给定n个整数 a1,a2,⋯ ,an,求它们两两相乘再相加的和,即: 示例一: 输入: 4 1 3 6 9 输出: 117 题目链…

监测预警智能分析中心建设项目方案

随着科技的不断进步,地理信息与遥感技术在国家治理、环境保护、灾害预警等领域发挥着越来越重要的作用。监测预警智能分析中心的建设,旨在通过集成先进的遥感技术、地理信息系统(GIS)、大数据分析和人工智能(AI&#x…

【漫话机器学习系列】009.词袋模型(Bag of Words)

词袋模型(Bag of Words, 简称 BoW) 词袋模型是一种常见的文本表示方法,主要用于自然语言处理(NLP)和信息检索领域。它将文本数据转换为特征向量,忽略语序,仅考虑词的出现与否或出现频率。 1. 基…

分治算法(单选题)

2-1 分数 2 下列多少种排序算法用了分治法? 堆排序插入排序归并排序快速排序选择排序希尔排序 A.2 B.3 C.4 D.5 正确答案 A 2-2 分数 2 分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决问题,最后将子…