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

當前位置:首頁 > 科技  > 軟件

系統設計 | 應用、微服務、流程、規則編排

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

在架構設計中,經常會聽到人講編排這個概念。但實際上,在不同場景下他們說的可能不是一回事。IhG28資訊網——每日最新資訊28at.com

這期的系統設計,我們討論幾個和編排相關的場景:IhG28資訊網——每日最新資訊28at.com

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

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

應用編排

在多數場景下應用編排,往往說的是部署單元和服務器資源管理,通常屬于 Devops 領域。IhG28資訊網——每日最新資訊28at.com

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

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

圖片IhG28資訊網——每日最新資訊28at.com

在部署方面這些工具都可以看做應用編排工具。IhG28資訊網——每日最新資訊28at.com

所以在很多文章中,應用編排的定義是跨多個計算環境自動化的協調復雜應用軟件應用程序的部署、配置和管理。IhG28資訊網——每日最新資訊28at.com

在容器和微服務興起后,基于代碼即基礎設施的編排理念出現了,通過定義應用程序和基礎設施的狀態來管理基礎設施和應用,從而保證了一致性、快速復制能力、拓展性。IhG28資訊網——每日最新資訊28at.com

常見的工具有:IhG28資訊網——每日最新資訊28at.com

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

在 2023 年,了解學習 Docker Swarm + Kubernetes 可以應付大部分應用編排的場景和帶來更多工作機會。IhG28資訊網——每日最新資訊28at.com

微服務編排

微服務編排往往說的是微服務之間的調用方式,以及如何給客戶端提供友好的 API。IhG28資訊網——每日最新資訊28at.com

簡而言之通常有兩種微服務集成方式:IhG28資訊網——每日最新資訊28at.com

  • 編排(orchestration):由 BFF 或稱應用網關,調用后端領域服務,領域服務盡可能少互相調用。
  • 編舞(choreography):BFF 或 應用網關盡可能做轉發,后端領域服務之間自行相互調用。

流程編排

流程編排往往和工作流引擎有關。IhG28資訊網——每日最新資訊28at.com

流程是一組用戶活動按照一定順序組成的序列流,順序可能是串行、并行,在流程中可能存在準入準出機制、觸發機制等。IhG28資訊網——每日最新資訊28at.com

所以工作流引擎編排的對象往往是一個系統完備的 API,一個活動也可以看做一個用例,這點需要和下面的業務規則編排區分開。IhG28資訊網——每日最新資訊28at.com

在 IT 系統中,流程引擎往往適用于下面這兩種場景:IhG28資訊網——每日最新資訊28at.com

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

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

圖片圖片IhG28資訊網——每日最新資訊28at.com

參與到流程體系中的組件需要遵守一套規范,這樣就可以流程互通。發展到現在,流程引擎的主流規范是 BPMN2.0。IhG28資訊網——每日最新資訊28at.com

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

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

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

規則編排

規則編排和流程編排則顯得不一樣,規則引擎往往用管理業務規則,基于預定義的規則,當有業務輸入時,根據輸入獲得不同的結果或者觸發不同的行為。IhG28資訊網——每日最新資訊28at.com

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

通過規則引擎可以讓用戶也能在一定范圍進行配置,對業務結果和行為進行干預。IhG28資訊網——每日最新資訊28at.com

圖片圖片IhG28資訊網——每日最新資訊28at.com

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

和 BPMN 標準類似,在規則引擎領域也有一個 DMN 規范,即 Decision Model and Notation。從名字上就能清晰地區分 BPMN 和 DMN 的關系。IhG28資訊網——每日最新資訊28at.com

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

總結

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

實際上一些系統大量在使用流程引擎和規則引擎,通過剝離流程和規則,對于復雜應用系統來說大大增強其靈活性,這一點對架構師非常有幫助。IhG28資訊網——每日最新資訊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系統設計 | 應用、微服務、流程、規則編排

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

上一篇: 優雅的使用String字符串處理各種類型轉換

下一篇: 探討Java多線程調度:如何實現兩線程并行,一線程等待?

標簽:
  • 熱門焦點
  • K8S | Service服務發現

    一、背景在微服務架構中,這里以開發環境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環境或者
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標系統提供非預期的輸入并監視異常結果來發現軟件漏洞的方法。可以用來發現應用程序、操作系統和網絡協議等中的漏洞或
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準追劇女孩們的古偶劇集,2021年有優酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 東方甄選單飛:有些鳥注定是關不住的

    作者:彭寬鴻來源:華爾街科技眼‍‍‍‍‍‍‍‍‍‍東方甄選創始人俞敏洪帶隊的“7天甘肅行”直播活動已在近日順利收官。成立后一
  • 小米汽車電池信息疑似曝光:容量101kWh,支持800V高壓快充

    7月14日消息,今日一名博主在社交媒體發布了一張疑似小米汽車電池信息的照片,顯示該電池包正是寧德時代麒麟電池,容量為101kWh,電壓為726.7V,可以預測小
  • 小米MIX Fold 3配置細節曝光:搭載領先版驍龍8 Gen2+罕見5倍長焦

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都得到了不少爆料,而小米新一代折疊屏旗艦——小米MIX Fold 3此前也屢屢被傳
  • OPPO K11搭載高性能石墨散熱系統:旗艦同款 性能涼爽釋放

    日前OPPO官方宣布,將于7月25日14:30舉辦新品發布會,屆時全新的OPPO K11將正式與大家見面,將主打旗艦影像,和同檔位競品相比,其最大的賣點就是將配備索尼
  • 親歷馬斯克血洗Twitter,硅谷的苦日子在后頭

    文/劉哲銘  編輯/李薇  馬斯克再次揮下裁員大刀。  美國時間11月14日,Twitter約4400名外包員工遭解雇,此次被解雇的員工的主要工作為內容審核等。此前,T
Top 主站蜘蛛池模板: 景谷| 康乐县| 富民县| 罗平县| 绩溪县| 天长市| 瑞金市| 杨浦区| 洪洞县| 尚志市| 徐汇区| 博客| 望奎县| 旬邑县| 昌黎县| 冷水江市| 葵青区| 云霄县| 北流市| 潞西市| 藁城市| 泰州市| 西乌珠穆沁旗| 邛崃市| 大新县| 长沙市| 大邑县| 南召县| 乳山市| 苍南县| 闵行区| 墨脱县| 紫金县| 敦化市| 九台市| 曲水县| 宁波市| 旬邑县| 苗栗县| 樟树市| 桐梓县|