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

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

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

导读:本系列文章将通过介绍一个真实大型企业数字化转型过程中遇到的层层困难,以及微服务架构如何落地,涉及到的各种真实的解决方案。不空谈,不泛谈,讲事实是本系列文章的原则。
  企业数字化转型是近些年来非常火热的话题,而企业做数字化转型的必经之路就是微服务架构升级。微服务架构升级普遍都会提及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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm配置python运行环境_C中调用Python

    pycharm配置python运行环境_C中调用Python目录前言一、系统路径说明二、环境配置1.在VS中选择ReleaseX642.菜单栏中选择:项目->属性3.生成dll答疑python程序目录下没有Numpy路径?具体代码参考博客前言本文主要讲解在Python程序中调用C(C++)程序的方法。主要思路是:在VS中配置好环境后,将C语言程序打包生成动态库文件.dll。将.dll改名成.pyd之后,装入相应路径,在pycharm中直接import即可环境:win10Pycharm(python3.6)(64位)VS2017(社区版)

    2022年8月26日
    8
  • pycharm安装、首次使用及汉化

    pycharm安装、首次使用及汉化一、下载pycharm安装包打开PyCharm的官方下载地址:http://www.jetbrains.com/pycharm/download/#section=windows打开网站后的界面展示如图:professional是专业版,可以免费试用,community是社区版,是免费开源的,推荐下载使用社区版。下载后的PyCharm:二、安装1.双击应用程序后点击【Next】…

    2022年5月26日
    46
  • 实例分割综述_实例分割面临的问题

    实例分割综述_实例分割面临的问题目前实例分割分为两大类:propose&verify,即先用目标检测找出实例可能的边界框并分类,再对边界框进行前后景分割。这类方法以MaskRCNN为代表。缺点是对拥挤、遮挡、小目标和不规则物体的分割精度不高。 像素级分割。A.半卷积用于实例分割(2018,Novotny)本文用像素级分割实现实例分割。广泛应用于深度学习中提取特征的卷积操作具有不变性,这限制了网络精确…

    2022年8月23日
    9
  • 自己工作用到的 linux添加路由的方法

    自己工作用到的 linux添加路由的方法linux下添加路由的方法一、查看及添加临时路由1.查看路由(linux下)[root@nfs~]#route#同netstat-rnKernelIProutingtableDestinationGatewayGenmaskFlagsMetricRefUseIface192.168.90.2*255.255.255.255UH00

    2022年10月4日
    2
  • getElementById获取元素

    getElementById获取元素<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><metahttp-equiv=”X-UA-Compatible”content=”ie=edge”><title>D.

    2022年7月15日
    22
  • for while循环语句举例python_python中while和for循环的用法

    for while循环语句举例python_python中while和for循环的用法程序在一般情况下是按顺序执行的。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式1.循环控制语句在了解循环语句的使用方法之前,我们先来了解几个循环控制语句:1)…

    2022年9月25日
    3

发表回复

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

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