業務中台建設 - 配置化 - 知乎
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
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/