Dapr是一套開源、可移植的事件驅動型執行時,允許開發人員輕鬆立足雲端與邊緣位置執行彈性、微服務、無狀態以及有狀態等應用程式型別。Dapr能夠確保開發人員專注於編寫業務邏輯,而不必分神於解決分散式系統難題,由此顯著提高生產力並縮短開發時長。Dapr 是用於構建雲原生應用程式的開發人員框架,可以更輕鬆幫助開發人員在 Kubernetes 上構建執行多個微服務,並與外部狀態儲存/資料庫、機密儲存、釋出/訂閱代理以及其他雲服務和自託管解決方案進行互動。
2023年2月17日正式釋出了1.10版本,Dapr v1.10.0 版本提供了幾項新功能,包括Dapr 工作流(預覽版)、釋出訂閱批次訊息(預覽版),可插拔元件(預覽版)、以及用於本地開發的多應用執行功能(預覽版),從v1.7.0 首次引入的彈性策略已進入穩定版本,可以正式應用於生產。Dapr 中現在有 111 個內建元件。在這個版本中新增了八個新元件,這個版本還增加了很多的穩定的元件。
亮點
Dapr 工作流(預覽版)
Dapr 現在包含的工作流作為新的 alpha API ,尚沒有準備好應用於生產。Dapr 工作流使你能夠生成跨多個應用的長時間執行的持久程式或資料流。 Dapr 工作流可以與其他 Dapr API 構建基塊結合使用。例如,工作流可以透過服務呼叫呼叫另一個服務、觸發繫結或檢索機密,從而使您能夠編排和構建複雜的應用程式方案。 可以閱讀有關 Dapr 工作流[3]的詳細資訊,或深入瞭解並試用 .NET Dapr 工作流快速入門[4],以瞭解此操作的實際效果。
釋出和訂閱批次訊息(預覽版)
透過批次的釋出和訂閱,您可以在單個請求中釋出和訂閱[5]多條訊息。編寫需要傳送或接收大量訊息的應用程式時,使用批次操作可以透過減少 Dapr sidecar、應用程式和基礎釋出/訂閱代理之間的請求總數來實現高吞吐量。
可插拔元件 SDK(預覽版)
Dapr 具有作為執行時一部分包含的內建元件。Dapr 現在允許您建立稱為“可插拔元件”[6]的私有元件。這些是自託管的元件(exe 或容器),可以用任何語言編寫,並且能夠“插入”到 Dapr 中。在此版本中,適用於 .NET、Java 和 Go 的預覽版 SDK 使你能夠使用所選語言輕鬆建立可插入元件。可以在此處閱讀有關 .NET SDK[7] 的詳細資訊。
用於改進本地開發的多應用執行(預覽版)
藉助多應用執行[8],您可以使用模板的單個命令在自承載模式下啟動多個應用程式。模板檔案描述瞭如何啟動多個應用程式,就像執行了許多單獨的 CLI 執行命令一樣,從而顯著改善了同時測試多個應用程式的體驗。在這裡嘗試使用Java,Go,.NET,JavaScript和Python。
彈性策略現已穩定
在此版本中,在 v1.7.0 版本中首次引入的彈性策略[9]現已穩定。
如果您不熟悉 Dapr,請訪問入門[10]頁面並熟悉 Dapr。 檔案已更新,包含此版本的所有新功能和更改。透過概念[11]和開發應用程式[12]檔案開始使用此版本中引入的新功能。要將 Dapr 升級到 1.10.0 版,請跳至本節[13]。
相關連結:
[1]詳細瞭解Dapr: https://docs.dapr.io/concepts/overview/
[2]閱讀 Dapr 1.10.0 的發行說明:https://blog.dapr.io/posts/2023/02/16/dapr-v1.10-is-now-available/
[3]Dapr 工作流: https://v1-10.docs.dapr.io/developing-applications/building-blocks/workflow/workflow-overview/
[4].NET Dapr 工作流快速入門:https://v1-10.docs.dapr.io/getting-started/quickstarts/workflow-quickstart/
[5]批次的釋出和訂閱:https://v1-10.docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-bulk/
[7]可插拔元件.NET SDK:https://v1-10.docs.dapr.io/developing-applications/develop-components/pluggable-components/pluggable-components-sdks/
[9]彈性策略:https://v1-10.docs.dapr.io/operations/resiliency/resiliency-overview/
[10] Dapr入門: https://docs.dapr.io/getting-started/
[11] Dapr 概念:https://docs.dapr.io/concepts/
[12]開發應用程式:https://docs.dapr.io/developing-applications/
[13]升級到Dapr 1.10.0版本: https://blog.dapr.io/posts/2023/02/16/dapr-v1.10-is-now-available/#upgrading-to-dapr-110