日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

系統(tǒng)設(shè)計 | 應(yīng)用、微服務(wù)、流程、規(guī)則編排

來源: 責(zé)編: 時間:2023-10-27 09:15:23 304觀看
導(dǎo)讀在架構(gòu)設(shè)計中,經(jīng)常會聽到人講編排這個概念。但實際上,在不同場景下他們說的可能不是一回事。這期的系統(tǒng)設(shè)計,我們討論幾個和編排相關(guān)的場景:應(yīng)用編排(Application Orchestration):將應(yīng)用程序通過腳本或者配置文件統(tǒng)一部署

在架構(gòu)設(shè)計中,經(jīng)常會聽到人講編排這個概念。但實際上,在不同場景下他們說的可能不是一回事。ha028資訊網(wǎng)——每日最新資訊28at.com

這期的系統(tǒng)設(shè)計,我們討論幾個和編排相關(guān)的場景:ha028資訊網(wǎng)——每日最新資訊28at.com

  • 應(yīng)用編排(Application Orchestration):將應(yīng)用程序通過腳本或者配置文件統(tǒng)一部署到目標(biāo)服務(wù)器環(huán)境,例如虛擬機(jī)、容器云平臺等。
  • 微服務(wù)編排(Micro-service Orchestration):將原子化的微服務(wù)整合起來提供調(diào)用者更友好的 API,一般面向于多渠道、多種用戶群的系統(tǒng)。
  • 流程編排(Flow Orchestration):使用流程引擎,將不同的系統(tǒng)或者服務(wù)組織起來,提供統(tǒng)一的流程控制、中心化審批等能力。
  • 規(guī)則編排(Rule Orchestration):在服務(wù)內(nèi)對于多個決策任務(wù)進(jìn)行編排執(zhí)行,提高執(zhí)行效率,簡化業(yè)務(wù)規(guī)則。

在現(xiàn)代企業(yè)應(yīng)用中,上述編排需求已經(jīng)非常常見,下面介紹一些開源框架或者工具實現(xiàn)上述訴求,以便在遇到類似的場景時,能選擇合適的方案。ha028資訊網(wǎng)——每日最新資訊28at.com

應(yīng)用編排

在多數(shù)場景下應(yīng)用編排,往往說的是部署單元和服務(wù)器資源管理,通常屬于 Devops 領(lǐng)域。ha028資訊網(wǎng)——每日最新資訊28at.com

一些中小型公司通常使用 Linux 的 SSH 登錄,配合自己編寫的部署腳本就可以完成部署和資源管理。但是對于大公司的運維人員來說,管理成千上萬的服務(wù)器就顯得吃力。ha028資訊網(wǎng)——每日最新資訊28at.com

早期比較流行的服務(wù)器部署編排的工具有 Puppet、Ansible,在云平臺興起后出現(xiàn)了 Terraform 也非常好用,這些工具均可以操作虛擬服務(wù)器并自動完成批量自動化操作。ha028資訊網(wǎng)——每日最新資訊28at.com

圖片ha028資訊網(wǎng)——每日最新資訊28at.com

在部署方面這些工具都可以看做應(yīng)用編排工具。ha028資訊網(wǎng)——每日最新資訊28at.com

所以在很多文章中,應(yīng)用編排的定義是跨多個計算環(huán)境自動化的協(xié)調(diào)復(fù)雜應(yīng)用軟件應(yīng)用程序的部署、配置和管理。ha028資訊網(wǎng)——每日最新資訊28at.com

在容器和微服務(wù)興起后,基于代碼即基礎(chǔ)設(shè)施的編排理念出現(xiàn)了,通過定義應(yīng)用程序和基礎(chǔ)設(shè)施的狀態(tài)來管理基礎(chǔ)設(shè)施和應(yīng)用,從而保證了一致性、快速復(fù)制能力、拓展性。ha028資訊網(wǎng)——每日最新資訊28at.com

常見的工具有:ha028資訊網(wǎng)——每日最新資訊28at.com

  • Kubernetes:當(dāng)前主流的容器云編排工具,屬于程序員必知必會的知識。
  • Docker Swarm:Docker 原生的容器編排工具,目前在小型集群、私有化環(huán)境下非常有優(yōu)勢。
  • Red Hat OpenShift:商業(yè)化的編排服務(wù),適合成熟的大型企業(yè)。
  • Apache Mesos + Marathon:早期的分布式集群管理工具和應(yīng)用容器管理編排框架。

在 2023 年,了解學(xué)習(xí) Docker Swarm + Kubernetes 可以應(yīng)付大部分應(yīng)用編排的場景和帶來更多工作機(jī)會。ha028資訊網(wǎng)——每日最新資訊28at.com

微服務(wù)編排

微服務(wù)編排往往說的是微服務(wù)之間的調(diào)用方式,以及如何給客戶端提供友好的 API。ha028資訊網(wǎng)——每日最新資訊28at.com

簡而言之通常有兩種微服務(wù)集成方式:ha028資訊網(wǎng)——每日最新資訊28at.com

  • 編排(orchestration):由 BFF 或稱應(yīng)用網(wǎng)關(guān),調(diào)用后端領(lǐng)域服務(wù),領(lǐng)域服務(wù)盡可能少互相調(diào)用。
  • 編舞(choreography):BFF 或 應(yīng)用網(wǎng)關(guān)盡可能做轉(zhuǎn)發(fā),后端領(lǐng)域服務(wù)之間自行相互調(diào)用。

流程編排

流程編排往往和工作流引擎有關(guān)。ha028資訊網(wǎng)——每日最新資訊28at.com

流程是一組用戶活動按照一定順序組成的序列流,順序可能是串行、并行,在流程中可能存在準(zhǔn)入準(zhǔn)出機(jī)制、觸發(fā)機(jī)制等。ha028資訊網(wǎng)——每日最新資訊28at.com

所以工作流引擎編排的對象往往是一個系統(tǒng)完備的 API,一個活動也可以看做一個用例,這點需要和下面的業(yè)務(wù)規(guī)則編排區(qū)分開。ha028資訊網(wǎng)——每日最新資訊28at.com

在 IT 系統(tǒng)中,流程引擎往往適用于下面這兩種場景:ha028資訊網(wǎng)——每日最新資訊28at.com

  • 跨應(yīng)用編排邏輯和能力。例如,企業(yè) CRM 下了采購單后需要觸發(fā)供應(yīng)鏈相關(guān)的活動啟動。當(dāng)然,調(diào)用供應(yīng)鏈的活動可以由 CRM 程序發(fā)起,但是由專門的工作流平臺管理會變得更靈活和彈性。
  • 需要邏輯控制和審核控制的場景。在企業(yè)應(yīng)用中,審批流是一個使用非常廣泛的工作流。

甚至工作流管理聯(lián)盟(WfMC)在 1993 年對工作流引擎進(jìn)行了規(guī)范化,使其能定義統(tǒng)一的接口,將各個應(yīng)用接入到工作流體系中來。其模型概念如下圖所示:ha028資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ha028資訊網(wǎng)——每日最新資訊28at.com

參與到流程體系中的組件需要遵守一套規(guī)范,這樣就可以流程互通。發(fā)展到現(xiàn)在,流程引擎的主流規(guī)范是 BPMN2.0。ha028資訊網(wǎng)——每日最新資訊28at.com

主流的的流程編排引擎都支持 BPMN2.0,例如:Camunda、Activiti、Flowable 等。ha028資訊網(wǎng)——每日最新資訊28at.com

BPMN 和 UML 一樣是一套精確的圖形化表示方法也被 OMG 組織管理,名稱為”Business Process Modeling Notation”,即“業(yè)務(wù)流程建模標(biāo)記法”。因此可以在前端靈活的拖拽設(shè)計生成 BPMN 文件,輸出標(biāo)準(zhǔn)文件后,即可在流程引擎中動態(tài)加載和使用。ha028資訊網(wǎng)——每日最新資訊28at.com

對于大型企業(yè)來說,流程引擎可以將不同的應(yīng)用集成起來,并參與到企業(yè)的流程管理工作中來。ha028資訊網(wǎng)——每日最新資訊28at.com

規(guī)則編排

規(guī)則編排和流程編排則顯得不一樣,規(guī)則引擎往往用管理業(yè)務(wù)規(guī)則,基于預(yù)定義的規(guī)則,當(dāng)有業(yè)務(wù)輸入時,根據(jù)輸入獲得不同的結(jié)果或者觸發(fā)不同的行為。ha028資訊網(wǎng)——每日最新資訊28at.com

例如,電商系統(tǒng)中對于不同積分和等級的會員獲得的折扣可能不一樣,這樣就可以使用規(guī)則引擎靈活處理此類場景。ha028資訊網(wǎng)——每日最新資訊28at.com

通過規(guī)則引擎可以讓用戶也能在一定范圍進(jìn)行配置,對業(yè)務(wù)結(jié)果和行為進(jìn)行干預(yù)。ha028資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ha028資訊網(wǎng)——每日最新資訊28at.com

規(guī)則引擎的開源方案并不多,目前可以使用的有:Drools、Liteflow(國產(chǎn)開源框架)。Drools 是一個標(biāo)準(zhǔn)的規(guī)則引擎框架,Liteflow 偏向代碼組件級別的流程編排多一些。ha028資訊網(wǎng)——每日最新資訊28at.com

和 BPMN 標(biāo)準(zhǔn)類似,在規(guī)則引擎領(lǐng)域也有一個 DMN 規(guī)范,即 Decision Model and Notation。從名字上就能清晰地區(qū)分 BPMN 和 DMN 的關(guān)系。ha028資訊網(wǎng)——每日最新資訊28at.com

Drools 完整支持 DMN 在很多業(yè)務(wù)規(guī)則,對于業(yè)務(wù)規(guī)則復(fù)雜的場景是一個非常不錯的選擇。快速了解 DMN 可以參考:learn-dmn-in-15-minutes.com。ha028資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

應(yīng)用編排和微服務(wù)編排為大多數(shù)人熟悉,但是對于流程引擎和規(guī)則引擎來說,了解的人可能不是很多。ha028資訊網(wǎng)——每日最新資訊28at.com

實際上一些系統(tǒng)大量在使用流程引擎和規(guī)則引擎,通過剝離流程和規(guī)則,對于復(fù)雜應(yīng)用系統(tǒng)來說大大增強(qiáng)其靈活性,這一點對架構(gòu)師非常有幫助。ha028資訊網(wǎng)——每日最新資訊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

本文鏈接:http://www.www897cc.com/showinfo-26-15335-0.html系統(tǒng)設(shè)計 | 應(yīng)用、微服務(wù)、流程、規(guī)則編排

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 優(yōu)雅的使用String字符串處理各種類型轉(zhuǎn)換

下一篇: 探討Java多線程調(diào)度:如何實現(xiàn)兩線程并行,一線程等待?

標(biāo)簽:
  • 熱門焦點
  • 直屏旗艦來了 iQOO 12和K70 Pro同臺競技

    旗艦機(jī)基本上使用的都是雙曲面屏幕,這就讓很多喜歡直屏的愛好者在苦等一款直屏旗艦,這次,你們等到了。據(jù)博主數(shù)碼閑聊站帶來的最新爆料稱,Redmi下代旗艦K70 Pro和iQOO 12兩款手
  • Redmi Buds 4開箱簡評:才199還有降噪 可以無腦入

    在上個月舉辦的Redmi Note11T Pro系列新機(jī)發(fā)布會上,除了兩款手機(jī)新品之外,Redmi還帶來了兩款TWS真無線藍(lán)牙耳機(jī)產(chǎn)品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們在Redmi Note11T
  • 6月iOS設(shè)備性能榜:M2穩(wěn)居榜首 A系列只能等一手3nm來救

    沒有新品發(fā)布,自然iOS設(shè)備性能榜的上榜設(shè)備就沒有什么更替,僅僅只有跑分變化而產(chǎn)生的排名變動,畢竟蘋果新品的發(fā)布節(jié)奏就是這樣的,一年下來也就幾個移動端新品,不會像安卓廠商,一
  • 掘力計劃第 20 期:Flutter 混合開發(fā)的混亂之治

    在掘力計劃系列活動第20場,《Flutter 開發(fā)實戰(zhàn)詳解》作者,掘金優(yōu)秀作者,Github GSY 系列目負(fù)責(zé)人戀貓的小郭分享了Flutter 混合開發(fā)的混亂之治。Flutter 基于自研的 Skia 引擎
  • Java NIO內(nèi)存映射文件:提高文件讀寫效率的優(yōu)秀實踐!

    Java的NIO庫提供了內(nèi)存映射文件的支持,它可以將文件映射到內(nèi)存中,從而可以更快地讀取和寫入文件數(shù)據(jù)。本文將對Java內(nèi)存映射文件進(jìn)行詳細(xì)的介紹和演示。內(nèi)存映射文件概述內(nèi)存
  • 在線圖片編輯器,支持PSD解析、AI摳圖等

    自從我上次分享一個人開發(fā)仿造稿定設(shè)計的圖片編輯器到現(xiàn)在,不知不覺已過去一年時間了,期間我經(jīng)歷了裁員失業(yè)、面試找工作碰壁,寒冬下一直沒有很好地履行計劃.....這些就放在日
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設(shè)計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 東方甄選單飛:有些鳥注定是關(guān)不住的

    作者:彭寬鴻來源:華爾街科技眼‍‍‍‍‍‍‍‍‍‍東方甄選創(chuàng)始人俞敏洪帶隊的“7天甘肅行”直播活動已在近日順利收官。成立后一
  • 疑似小米14外觀設(shè)計圖曝光:后置相機(jī)模組變化不大

    下半年的大幕已經(jīng)開啟,而誰將成為下半年手機(jī)圈的主角就成為了大家關(guān)注的焦點,其中被傳有望拿下新一代驍龍8 Gen3旗艦芯片的小米14系列更是備受大家矚
Top 主站蜘蛛池模板: 错那县| 新闻| 常德市| 郸城县| 介休市| 公安县| 建宁县| 商南县| 古浪县| 宾川县| 江山市| 太湖县| 离岛区| 岳池县| 永嘉县| 酉阳| 汝城县| 新闻| 德化县| 乐平市| 九龙坡区| 河津市| 建昌县| 陆河县| 浦县| 酒泉市| 东丽区| 外汇| 宾阳县| 安陆市| 兰考县| 平阳县| 武邑县| 屏边| 乐山市| 连州市| 新河县| 天全县| 义乌市| 双牌县| 大方县|