業務中台建設 微服務 流程編排: Uber Cadence | Netflix Conductor | Camunda Zeebe | AWS Step Functions | ing-bank baker


業務中台建設 - 配置化 - 知乎
https://zhuanlan.zhihu.com/p/339088254

流程編排
中台服務中的業務步驟進行抽象沉淀形成固定的模塊,不同業務基於自身的業務場景,對現有的模塊進行重組,從而滿足自己的需求。

例如 電商履約流程中包含:打包、發票生成、物流運輸、簽收、貨到付款等等很多環境,自營倉庫需要發票,商家業務則沒有這個限制。不同的業務線需要的步驟也是不同的,把這些步驟都抽象成標准的步驟,各業務進行拼裝組合。例如

體驗業務線:物流運輸、簽收、貨到付款、發票生成。
自營商城線:打包、發票生成、物流運輸。
具體實現方式可以參考

uber/cadence
分布式、伸縮、高可靠的異步執行業務邏輯,工具比較豐富,同時提供了可視化UI

netflix/conductor
來自netflix 的為微服務編排引擎,支持的功能很豐富,同時文檔也比較全

zeebe-io/zeebe
實際上是在工作流引擎的基礎上衍生出來的,設計很靈活,不需要依賴后端的存儲,支持復制、分片(借鑒了kafka)

ing-bank/baker
scala 開發的微服務調度框架

aws/setp functons
aws 的雲服務

DSL腳本
DSL全稱為domain-specific language,指的是專注於某個應用程序領域的計算機語言。對於需要非常靈活擴展的地方,可以通過DSL腳本滿足一定的需求,例如 復雜的結算規則,根據商家、業務等區別,適用不同的規則

def detail_price alias '詳情價格'
def transport_fee alias '運輸費'
def check_fee alias '檢測費'
def service_fee alias '服務費'

if(詳情價格>10000){
return (詳情價格+運輸費+檢測費+服務費);
}else{
Return (詳情價格+(運輸費+檢測費+服務費)*0.8);
}
總結:
框架在架構設計上遵循一個重要的設計原則叫“依賴倒轉原則”,依賴倒轉原則是高層模塊不能依賴低層模塊,它們應該共同依賴一個抽象,這個抽象由高層模塊定義,由低層模塊實現。

中台的設計過程中通過策略、回調、插件包、流程編排和DSL腳本等方式,實現業務的定制化需求。

aws/setp functons - 國內版 Bing
https://cn.bing.com/search?FORM=U227DF&PC=U227&q=aws%2Fsetp+functons

AWS Step Functions 入門 | Serverless Microservice Orchestration | Amazon Web Services
https://aws.amazon.com/cn/step-functions/getting-started/

AWS Step Functions可視化工作流服務_分布式應用調節-AWS雲服務
https://aws.amazon.com/cn/step-functions/?step-functions.sort-by=item.additionalFields.postDateTime&step-functions.sort-order=desc

Step Functions Workflow Studio USI Mock.e04623598b8abf438fc8c9f6576384b6eaf09dd4.png (2902×1731)
https://d1.awsstatic.com/Step Functions Workflow Studio USI Mock.e04623598b8abf438fc8c9f6576384b6eaf09dd4.png

Baker
https://ing-bank.github.io/baker/

github.com
https://github.com/ing-bank/baker

Netflix/conductor: Conductor is a microservices orchestration engine.
https://github.com/Netflix/conductor

uber/cadence - 國內版 Bing
https://cn.bing.com/search?FORM=U227DF&PC=U227&q=uber%2Fcadence

Uber Cadence 學習 - poslua | ms2008 Blog
https://ms2008.github.io/2021/06/06/cadence-intro/

uber-common/cadence-samples
https://github.com/uber-common/cadence-samples

Uber Cadence Samples - 國內版 Bing images
https://cn.bing.com/images/search?view=detailV2&ccid=ZyUVhDqI&id=06F69D8C9E99D7C2CB51049E66B730D85B412D4A&thid=OIP.ZyUVhDqI8IPblOS2RzficAHaFm&mediaurl=https%3A%2F%2Fcednc.org%2Fwp-content%2Fuploads%2F2019%2F11%2FProcess_Cadence-Slide-1-3.png&exph=526&expw=695&q=Uber+Cadence+Samples&simid=608046165337209160&form=IRPRST&ck=496C6B8E5B9A825EA36285038A9EE338&selectedindex=7&ajaxhist=0&ajaxserp=0&vt=0&sim=11

image4-1.png (1224×486)
https://1fykyq3mdn5r21tpna3wkdyi-wpengine.netdna-ssl.com/wp-content/uploads/2019/03/image4-1.png

uber/cadence:Cadence是一種分布式,可擴展,持久且高度可用的流程編排引擎
https://www.jdon.com/53097

Cadence Multi-Tenant Task Processing
https://eng.uber.com/cadence-multi-tenant-task-processing/

深入淺出Netflix Conductor使用 - 簡書
https://www.jianshu.com/p/4eae1af8afa8

conductor介紹 - 會飛の魚 - 博客園
https://www.cnblogs.com/mhc-fly/p/6956305.html

conductor 子流程 - 國內版 Bing
https://cn.bing.com/search?FORM=U227DF&PC=U227&q=conductor+子流程

Netflix Conductor:流程的反轉控制-Linuxeden開源社區
http://www.linuxeden.com/a/5432

Netflix Conductor:流程的反轉控制-InfoQ
https://www.infoq.cn/article/netflix-conductor-introduction/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM