簡體   English   中英

Netflix Conductor 作為工作流引擎解決方案

[英]Netflix Conductor as a workflow engine solution

有人可以分享有關如何使用 Netflix Conductor 的教程嗎? github 上是否有類似代碼示例之類的? 我已經在 Amazon SWF 上完成了一個示例,並了解了整個工作原理,但需要一些關於開始使用 Conductor 的指示。

最初的首選資源是 Netflix 導體的官方文檔。 可能幫助任何人加快速度的其他部分是指揮的實際工作。 導體服務器主要管理任務的生命周期。

假設指揮服務器正在使用默認配置運行。 要執行工作流,您需要

  1. 創建任務定義,
  2. 創建使用步驟 1 中的任務定義的工作流定義,
  3. 執行工作流。

作為執行的一部分,指揮服務器安排工作流中的下一個任務。 如果您剛剛執行,它是工作流中的第一個任務。 Conductor 在內部使用 dyno-queues,其中任務可供客戶端使用(客戶端可以是內部任務,也可以是通過 REST API 與 Conductor 交互的外部工作應用程序)。

我最初的主要疑問是工人如何以及在哪里跑? 如果您的工作人員可以訪問由指揮公開的 REST API 並能夠更新任務的狀態,則工作人員可以在月球上運行。 即您可以在任何需要的地方運行微服務。

一個簡單的用例可能是入職就業驗證。 為了在入職前驗證員工,您可以檢查犯罪背景,毒品,教育驗證等,如果您在您的場所運行指揮服務器並且將工作人員安置在負責上述區域的機構中,工作人員將進行檢查並相應地更新工作流程。

Conductor 集成了顯式組件,如彈性搜索、由 redis 支持的用於數據存儲的炸葯。 您可以在 HA 集群上配置這些。

使用 contribs 模塊,您可以為任務集成外部 MQ 代理,並使用相應的接收器詳細信息更新您的工作流,以便將事件發布到配置的接收器。

您還可以通過事件處理程序以松散耦合的方式將其他工作流作為主工作流的子工作流執行。 在上述用例中,此子工作流可以是教育驗證的工作流,也可以是犯罪背景調查的子工作流等。

由於導體的無狀態特性,您可以通過容器化運行導體的多個實例。

在我看來,最簡單的方法是使用 docker。

克隆這個存儲庫: https : //github.com/Netflix/conductor

轉到,conductor/docker 並運行,docker-compose up

現在,在 http://localhost:5000 上打開瀏覽器

在左側菜單中,您將看到工作流定義項,您可以在其中看到工作流示例。

要部署您自己的工作流,請從該站點復制 json,更改名稱並使用此軟件 Postman.com 進行部署。

發布到此端點以進行部署:http://localhost:8080/api/metadata/workflow

發布到此端點以運行您的工作流:http://localhost:8080/api/workflow/

以下存儲庫中有許多適用於 Netflix Conductor 的示例應用程序和代碼實驗室演練: https://github.com/conductor-sdk/conductor-examples

還有一個免費的在線游樂場,可以在https://play.orkes.io上構建/測試和運行您的工作流程

我在 Netflix 指揮上做過小 POC,你可以在下面的鏈接下獲得詳細的描述。 還可以單擊 github 鏈接下方的代碼以獲取代碼並執行相同的代碼。 https://github.com/manishkushwaha1412/conductor-poc/wiki

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM