使用Zeebe實現微服務工作流編排 - Berndruecker

banq發表於2019-09-27

將Zeebe作為工作流引擎,您可以:

  • 以您選擇的程式語言構建應用程式(Zeebe提供JavaNode.jsC#GoRust的語言客戶端),
  • 使用命令列工具部署工作流,啟動例項或建立工作程式,
  • 使用現有的HTTP工作程式來呼叫REST API。

當然,您也可以利用Zeebe生態系統的其他元件,例如Kafka Connector

微服務編排

工作流引擎的常見用例是編排微服務以實現業務能力。我經常使用一個著名的領域來形象化這一點:訂單履行。您可以想象通過Zeebe連線到滿足客戶訂單所需的各種微服務:

使用Zeebe實現微服務工作流編排 - Berndruecker

當然,您不必被迫使用Zeebe作為微服務之間的傳輸-您可能希望利用現有的通訊傳輸-例如REST,Kafka或訊息傳遞。在這種情況下,工作流程看起來大致相同,但是隻有一個微服務知道Zeebe,並且有一些程式碼可以在工作流程任務和Kafka等之間轉換。

具體程式碼見:這裡

無伺服器功能編排

如果您沒有伺服器,也可以構建許多功能。一個關鍵問題將是如何協調相互依賴的功能。讓我們在這裡做一個Saga模式的經典示例:您有一個功能可以預訂租車,一個功能可以預訂酒店,而一個功能可以預訂航班。

現在,您要提供一個預訂整個行程的功能,需要使用其他功能。您可以利用工作流程來完成此工作,而不必在旅行預訂功能中對功能呼叫進行硬編碼。

展示如何在Camunda Cloud中使用Zeebe協調無伺服器功能

 

相關文章