为企业数字化转型提供服务_数字赋能企业转型

为企业数字化转型提供服务_数字赋能企业转型企业数字化转型必备利器之微服务扩展

大家好,又见面了,我是你们的朋友全栈君。

导读:本系列文章将通过介绍一个真实大型企业数字化转型过程中遇到的层层困难,以及微服务架构如何落地,涉及到的各种真实的解决方案。不空谈,不泛谈,讲事实是本系列文章的原则。
  企业数字化转型是近些年来非常火热的话题,而企业做数字化转型的必经之路就是微服务架构升级。微服务架构升级普遍都会提及DevOps、容器化、API网关、微服务治理、AKF扩展立方体等技术概念。在大型集团企业微服务架构升级的过程中,往往会遇到如何扩展已有微服务应用,来适应不同组织之间业务的多样性和集团的整体管控性的问题。针对这个问题,国内互联网行业的先驱阿里提出了“厚中台,薄前端”的概念。但如果实现呢?本文通过描述一个大型集团企业微服务架构升级的过程,如何通过微服务扩展来实现企业数字化转型的大中台业务。
第1步选定原型开始微服务之旅
  大型企业在微服务架构升级的过程中,一般会先选一个A组织(原型组织)为代表,基于这个A组织及企业数字化转型的目标,开发出一套原型产品,并在A组织内不断的优化和改进。这个过程,特别注重的是微服务架构的技术升级,例如需要引入微服务治理框架,DevOps平台、分布式事物等等。做出来的产品业务上和已有的系统没有什么本质的区别,只是我们用了一套高大上的微服务架构。这时候企业的组织架构并没有任何改变,由A组织负责的研发部门负责研发了一套基于微服务架构的新产品,这个研发组织负责这几十个微服务的开发和运维工作。老板觉得这套系统很不错,这套产品基于微服务架构做的,那就开始全集团推广吧,让其它组织也用上这套系统,享受一下数字化带来的便利。
第2步产品推广微服务架构下如何“二开”?
  A组织的信息化部门开始兴高采烈的去给B组织推广他们开发的这套产品,说这套系统是基于现在最前沿的微服务架构实现的,可以如何改进你们现有的流程,减少成本等。B组织觉得很不错,那也试用一下吧,但是我们在某些地方和这套产品的现有业务有点差别,能帮忙改一下,支持一下我们的特有业务吗?A组织为了推广产品,爽快的答应了。但是在改的过程中,发现原有的业务流程和代码和自己的一部分特有业务关联的比较紧密,修改起来要费不少功夫。为了推广给B组织使用,还是硬着头皮给改完了,这其中带来了大量的业务代码修改及回归测试。
  老板看着产品在B组织推广的也不错,那继续推广给其它组织使用吧。A组织在继续推广给其它C、D……组织的时候,发现都存在B组织类似的问题。他们80%的业务和A组织相同,但是有20%的业务有自己的特色。其它组织也要求A组织修改一下原有的微服务,来支持他们的特色业务。这时候A组织不干了,说你们都有自己的信息化部门,也有研发人员,你们基于我现在做的微服务去修改吧。那么问题来了,其它组织如何“二开”呢?把整套产品的源码都共享给其它组织,他们基于这套源码修改及开发自己的新产品,然后独立部署。这时候老板站出来不干了,你们这样搞下去,和原来的软件模式有什么区别,我们微服务架构的优势去哪了,整个企业的集中管控如何做?这时候大家又想起了做数字化转型的“厚中台,薄前端”的业务架构,我们的业务中台在哪里呢?如何实现业务中台?
第3步微服务扩展实现业务中台的利器
  接下来我么该聊聊什么是微服务扩展?如何利用微服务扩展实现业务中台?
clipboard.png
核心微服务 – 流程分解
  功能域:可以简化理解为对应一个微服务
  域服务:对应一个服务接口
  能力:对应服务接口上的一个具体方法
  扩展点:服务接口方法实现中插入的一个插件(接口)
  以订单创建过程为例来谈谈什么是微服务扩展,以及如何用微服务扩展来实现订单的业务中台。订单创建的过程其实是一系列功能的组合,如库存校验,商品价格计算订单校验等。每个功能都对应到一个领域服务,如库存校验对应到库存领域服务,商品价格计算对应到价格领域服务。每个领域服务都会提供一些核心的能力,如库存领域服务提供库存查询、校验、扣减等能力。而每个能力可以提供一系列的扩展点,来根据不同的业务走不同的扩展实现。如库存查询的能力可以提供库存策略的扩展点,根据业务需求可以实现商品级库存,批次库存等的扩展实现。订单创建流程以及抽象出来的各种功能域及能力就是我们需要的业务中台,而业务的差异化实现可以根据业务中台提供的能力扩展点去实现自己的业务扩展。下图是微服务扩展的基本概念图。
clipboard.png
微服务扩展 – 基本概念图
  那么需要如何抽象出业务中台呢?
  1.首先需要梳理微服务的主业务流程,以及各组织之间可能存在的差异点。
  2.根据梳理出来的主业务流程及可能存在的差异点,定义出上述的功能域、域服务、能力及扩展点。
  3.业务基于现有的扩展点增加扩展实现,实现自己的个性化业务。
  上述1、2、3步骤是一个循序渐进的过程,不可能一蹴而就的。因为企业自己的业务流程会随着市场的变化而不断的变化,随着业务的变化,可能会新增一些扩展点和不同的扩展实现。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107147.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 光流法小结[通俗易懂]

    光流法小结[通俗易懂]1.定义空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。也就是说,由空间域到图像平面的投影。而通俗来讲,把图像中的每一个点的瞬时速度和方向找出来就是光流。2.光流有什么用通过光流判断物体距离我们的远近。一般而言,远景的物体相对来说光流较小,而近景物体

    2022年7月23日
    10
  • [设计模式]委派模式「建议收藏」

    github地址:https://github.com/1711680493点我进入github如需了解更多设计模式,请进入我的设计模式专栏委派模式委派模式不是23设计模式中的一种.与策略模式很相似.拥有以下三种角色抽象任务角色 委派者角色 具体任务角色委派模式,就是将任务发给委派者角色,委派者角色去委派具体任务角色委派模式对外隐藏了具体实现,仅将委派者角色暴露给外部委派模式和策略模式不同的是,委派者角色和具体任务角色都要继承/实现抽象任务角色Spring框架很

    2022年4月16日
    42
  • 2021pycharm 激活码[在线序列号]

    2021pycharm 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    65
  • 小米手机解BL锁教程

    小米手机解BL锁教程1.找到设置,找到我的设备2.点击全部参数,点miui版本,点3下。3.返回,找到更多设置4.找到开发者选项5.找到设备定状态6.绑定账号和设备,关机,按开键加音量减,进去fast模式,链接电脑。7. 电脑打开下载解锁工具:点击链接下载将解锁工具解压缩,点击unlock.exe。7.解锁工具里登入可解锁的小米账号,同时将手机进入fastboot模式(关机状态下长按音量下键和电源键),用数据线连接电脑,提示已连接手机即可,若没有驱动点击图标安装即可。8.设备已解锁-解锁成功

    2022年6月12日
    57
  • Css3 阴影详解

    Css3 阴影详解box-shadow阴影语法:box-shadow:none|<shadow>[,<shadow>]*box-shadow:none/*设置none是表示没有

    2022年7月1日
    24
  • Full GC触发条件总结以及解决策略「建议收藏」

    前言FullGC相对于MinorGC来说,停止用户线程的STW(stoptheworld)时间过长,至少慢10倍以上,所以要尽量避免,首先说一下FullGC可能产生的原因,接着给出排查方法以及解决策略。FullGC产生原因下图为与产生FullGC相关的内存区域,初生代、老年代、以及Metaspace区域。System.gc()方法的调用在代码中调用System…

    2022年4月12日
    218

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号