| 应用、微服务、流程、规则编排-28资讯网——每日最新资讯28at.com - 天津谷骐科技有限公司
当前位置:首页 > 科技  > 软件

系统设计 | 应用、微服务、流程、规则编排

来源: 责编: 时间:2023-10-27 09:15:23 211观看
导读在架构设计中,经常会听到人讲编排这个概念。但实际上,在不同场景下他们说的可能不是一回事。这期的系统设计,我们讨论几个和编排相关的场景:应用编排(Application Orchestration):将应用程序通过脚本或者配置文件统一部署

在架构设计中,经常会听到人讲编排这个概念。但实际上,在不同场景下他们说的可能不是一回事。e8628资讯网——每日最新资讯28at.com

这期的系统设计,我们讨论几个和编排相关的场景:e8628资讯网——每日最新资讯28at.com

  • 应用编排(Application Orchestration):将应用程序通过脚本或者配置文件统一部署到目标服务器环境,例如虚拟机、容器云平台等。
  • 微服务编排(Micro-service Orchestration):将原子化的微服务整合起来提供调用者更友好的 API,一般面向于多渠道、多种用户群的系统。
  • 流程编排(Flow Orchestration):使用流程引擎,将不同的系统或者服务组织起来,提供统一的流程控制、中心化审批等能力。
  • 规则编排(Rule Orchestration):在服务内对于多个决策任务进行编排执行,提高执行效率,简化业务规则。

在现代企业应用中,上述编排需求已经非常常见,下面介绍一些开源框架或者工具实现上述诉求,以便在遇到类似的场景时,能选择合适的方案。e8628资讯网——每日最新资讯28at.com

应用编排

在多数场景下应用编排,往往说的是部署单元和服务器资源管理,通常属于 Devops 领域。e8628资讯网——每日最新资讯28at.com

一些中小型公司通常使用 Linux 的 SSH 登录,配合自己编写的部署脚本就可以完成部署和资源管理。但是对于大公司的运维人员来说,管理成千上万的服务器就显得吃力。e8628资讯网——每日最新资讯28at.com

早期比较流行的服务器部署编排的工具有 Puppet、Ansible,在云平台兴起后出现了 Terraform 也非常好用,这些工具均可以操作虚拟服务器并自动完成批量自动化操作。e8628资讯网——每日最新资讯28at.com

图片e8628资讯网——每日最新资讯28at.com

在部署方面这些工具都可以看做应用编排工具。e8628资讯网——每日最新资讯28at.com

所以在很多文章中,应用编排的定义是跨多个计算环境自动化的协调复杂应用软件应用程序的部署、配置和管理。e8628资讯网——每日最新资讯28at.com

在容器和微服务兴起后,基于代码即基础设施的编排理念出现了,通过定义应用程序和基础设施的状态来管理基础设施和应用,从而保证了一致性、快速复制能力、拓展性。e8628资讯网——每日最新资讯28at.com

常见的工具有:e8628资讯网——每日最新资讯28at.com

  • Kubernetes:当前主流的容器云编排工具,属于程序员必知必会的知识。
  • Docker Swarm:Docker 原生的容器编排工具,目前在小型集群、私有化环境下非常有优势。
  • Red Hat OpenShift:商业化的编排服务,适合成熟的大型企业。
  • Apache Mesos + Marathon:早期的分布式集群管理工具和应用容器管理编排框架。

在 2023 年,了解学习 Docker Swarm + Kubernetes 可以应付大部分应用编排的场景和带来更多工作机会。e8628资讯网——每日最新资讯28at.com

微服务编排

微服务编排往往说的是微服务之间的调用方式,以及如何给客户端提供友好的 API。e8628资讯网——每日最新资讯28at.com

简而言之通常有两种微服务集成方式:e8628资讯网——每日最新资讯28at.com

  • 编排(orchestration):由 BFF 或称应用网关,调用后端领域服务,领域服务尽可能少互相调用。
  • 编舞(choreography):BFF 或 应用网关尽可能做转发,后端领域服务之间自行相互调用。

流程编排

流程编排往往和工作流引擎有关。e8628资讯网——每日最新资讯28at.com

流程是一组用户活动按照一定顺序组成的序列流,顺序可能是串行、并行,在流程中可能存在准入准出机制、触发机制等。e8628资讯网——每日最新资讯28at.com

所以工作流引擎编排的对象往往是一个系统完备的 API,一个活动也可以看做一个用例,这点需要和下面的业务规则编排区分开。e8628资讯网——每日最新资讯28at.com

在 IT 系统中,流程引擎往往适用于下面这两种场景:e8628资讯网——每日最新资讯28at.com

  • 跨应用编排逻辑和能力。例如,企业 CRM 下了采购单后需要触发供应链相关的活动启动。当然,调用供应链的活动可以由 CRM 程序发起,但是由专门的工作流平台管理会变得更灵活和弹性。
  • 需要逻辑控制和审核控制的场景。在企业应用中,审批流是一个使用非常广泛的工作流。

甚至工作流管理联盟(WfMC)在 1993 年对工作流引擎进行了规范化,使其能定义统一的接口,将各个应用接入到工作流体系中来。其模型概念如下图所示:e8628资讯网——每日最新资讯28at.com

图片图片e8628资讯网——每日最新资讯28at.com

参与到流程体系中的组件需要遵守一套规范,这样就可以流程互通。发展到现在,流程引擎的主流规范是 BPMN2.0。e8628资讯网——每日最新资讯28at.com

主流的的流程编排引擎都支持 BPMN2.0,例如:Camunda、Activiti、Flowable 等。e8628资讯网——每日最新资讯28at.com

BPMN 和 UML 一样是一套精确的图形化表示方法也被 OMG 组织管理,名称为”Business Process Modeling Notation”,即“业务流程建模标记法”。因此可以在前端灵活的拖拽设计生成 BPMN 文件,输出标准文件后,即可在流程引擎中动态加载和使用。e8628资讯网——每日最新资讯28at.com

对于大型企业来说,流程引擎可以将不同的应用集成起来,并参与到企业的流程管理工作中来。e8628资讯网——每日最新资讯28at.com

规则编排

规则编排和流程编排则显得不一样,规则引擎往往用管理业务规则,基于预定义的规则,当有业务输入时,根据输入获得不同的结果或者触发不同的行为。e8628资讯网——每日最新资讯28at.com

例如,电商系统中对于不同积分和等级的会员获得的折扣可能不一样,这样就可以使用规则引擎灵活处理此类场景。e8628资讯网——每日最新资讯28at.com

通过规则引擎可以让用户也能在一定范围进行配置,对业务结果和行为进行干预。e8628资讯网——每日最新资讯28at.com

图片图片e8628资讯网——每日最新资讯28at.com

规则引擎的开源方案并不多,目前可以使用的有:Drools、Liteflow(国产开源框架)。Drools 是一个标准的规则引擎框架,Liteflow 偏向代码组件级别的流程编排多一些。e8628资讯网——每日最新资讯28at.com

和 BPMN 标准类似,在规则引擎领域也有一个 DMN 规范,即 Decision Model and Notation。从名字上就能清晰地区分 BPMN 和 DMN 的关系。e8628资讯网——每日最新资讯28at.com

Drools 完整支持 DMN 在很多业务规则,对于业务规则复杂的场景是一个非常不错的选择。快速了解 DMN 可以参考:learn-dmn-in-15-minutes.com。e8628资讯网——每日最新资讯28at.com

总结

应用编排和微服务编排为大多数人熟悉,但是对于流程引擎和规则引擎来说,了解的人可能不是很多。e8628资讯网——每日最新资讯28at.com

实际上一些系统大量在使用流程引擎和规则引擎,通过剥离流程和规则,对于复杂应用系统来说大大增强其灵活性,这一点对架构师非常有帮助。e8628资讯网——每日最新资讯28at.com

参考资料

  • https://www.xenonstack.com/insights/application-orchestration-tools
  • https://medium.com/trueengineering/a-review-of-microservice-orchestration-frameworks-d22797b34ea5
  • https://github.com/dromara/liteflow
  • https://drools.org/
  • https://airflow.apache.org
  • https://www.puppet.com/docs/puppet/6/puppet_overview.html
  • https://www.architect.io/blog/2022-06-30/microservices-orchestration-primer/
  • https://xie.infoq.cn/article/201c0ac6772e07f81c31cbe07
  • https://learn-dmn-in-15-minutes.com/learn/introduction

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-15335-0.html系统设计 | 应用、微服务、流程、规则编排

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 优雅的使用String字符串处理各种类型转换

下一篇: 探讨Java多线程调度:如何实现两线程并行,一线程等待?

标签:
  • 热门焦点
  • 直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    旗舰机基本上使用的都是双曲面屏幕,这就让很多喜欢直屏的爱好者在苦等一款直屏旗舰,这次,你们等到了。据博主数码闲聊站带来的最新爆料称,Redmi下代旗舰K70 Pro和iQOO 12两款手
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 如何使用JavaScript创建一只图像放大镜?

    如何使用JavaScript创建一只图像放大镜?

    译者 | 布加迪审校 | 重楼如果您曾经浏览过购物网站,可能遇到过图像放大功能。它可以让您放大图像的特定区域,以便浏览。结合这个小小的重要功能可以大大改善您网站的用户体验
  • 零售大模型“干中学”,攀爬数字化珠峰

    零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 大厂卷向扁平化

    大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 携众多高端产品亮相ChinaJoy,小米带来一场科技与人文的视听盛宴

    携众多高端产品亮相ChinaJoy,小米带来一场科技与人文的视听盛宴

    7月28日,全球数字娱乐领域最具知名度与影响力的年度盛会中国国际数码互动娱乐展览会(简称ChinaJoy)在上海新国际博览中心盛大开幕。作为全球领先的科
  • 华为Mate60标准版细节曝光:经典星环相机模组回归

    华为Mate60标准版细节曝光:经典星环相机模组回归

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    7月27日消息,据外媒报道,从三星电子所发布的财报来看,他们主要利润来源的存储芯片业务在今年二季度仍不乐观,营收同比仍在大幅下滑,所在的设备解决方案
  • 利用职权私自解除被封帐号 Meta开除20多名员工

    利用职权私自解除被封帐号 Meta开除20多名员工

    11月18日消息,据外媒援引知情人士表示,过去一年时间内,Facebook母公司Meta解雇或处罚了20多名员工以及合同工,指控这些人通过内部系统以不当方式重置用户帐号,其
Top
Baidu
map