Dapr v1.9.0 版本已發布

Dapr是一套開源、可移植的事件驅動型運行時,允許開發人員輕松立足云端與邊緣位置運行彈性、微服務、無狀態以及有狀態等應用程序類型 。Dapr能夠確保開發人員專注于編寫業務邏輯 , 而不必分神于解決分布式系統難題,由此顯著提高生產力并縮短開發時長 。Dapr 是用于構建云原生應用程序的開發人員框架,可以更輕松幫助開發人員在 Kubernetes 上構建運行多個微服務,并與外部狀態存儲/數據庫、機密存儲、發布/訂閱代理以及其他云服務和自托管解決方案進行交互 。
2022年10月13日正式發布了1.9版本,Dapr v1.9.0 版本提供了幾項新功能,包括可插入組件、彈性指標和應用運行狀況檢查,以及核心運行時和組件中的許多修復 。

  • 詳細了解Dapr[1]
  • 閱讀 Dapr 1.9.0 的發行說明[2]

亮點
可插拔組件我們現在可以創建稱為“可插拔組件”[3]的私有組件 。只需使用任何支持gRPC 的語言編寫一個帶有 gRPC 服務的組件,將二進制文件放入文件系統中,即可開始使用 。在Sample 倉庫里提供了一個 .NET的模板例子[4] 。
可觀察性:Open Telemetry(OTEL) 協議支持OpenTelemetry(OTEL) 將OpenCensus、Zipkin 和OpenTracing等項目組合到標準 API 和規范集中,用于跟蹤和指標 。在1.9 版本中,Dapr 包括了 對OpenTelemetry的支持[5] 。可觀察性:彈性能力指標已添加用于彈性能力[6]的指標,能夠跟蹤以下各項的數量:
  • 已加載彈性策略
  • 執行彈性策略的次數
可靠性:應用程序運行狀況檢查應用運行狀況檢查[7]是一項新功能,允許探測應用程序的運行狀況并對狀態更改做出反應 。啟用應用程序運行狀況檢查后 , Dapr 運行時將通過 HTTP 或 gRPC 調用定期輪詢應用程序 。當 Dapr 檢測到應用的運行狀況出現故障時,它會代表應用程序停止接受新的請求 。
可靠性:默認彈性策略借助彈性策略 , 我們現在可以設置默認策略[8],這些策略的范圍可能很廣 。這是通過應用于給定策略的保留關鍵字來完成的 。有 3 種默認策略類型:
    • DefaultRetryPolicy
    • DefaultTimeoutPolicy
    • DefaultCircuitBreakerPolicy
如果定義了這些策略,將它們用于對服務、應用程序或組件的每個操作 。還可以通過對特定目標使用其他關鍵字來修改它們以使其更具體 。
服務調用:應用中間件現在,在進行服務到服務調用時,可以使用任何中間件組件 。例如,用于零信任環境中的令牌驗證或應用 OAuth 策略 。服務到服務調用中間件組件[9]適用于從 Dapr sidecar 到接收應用程序的所有傳出調用 。
發布/訂閱:命名空間使用者組將 Dapr 應用程序部署到所有共享相同app id的不同命名空間,并將所有主題訂閱的范圍限定在命名空間級別 。使用用于發布/訂閱的命名空間使用者組[10],開發團隊可以重用相同的發布/訂閱底層基礎架構,而無需根據他們運行的命名空間更改其代碼 。
【Dapr v1.9.0 版本已發布】相關鏈接:
[1]詳細了解Dapr: https://docs.dapr.io/concepts/overview/
[2]閱讀 Dapr 1.9.0 的發行說明:https://blog.dapr.io/posts/2022/10/13/dapr-v1.9-is-now-available/
[3]可插拔組件: https://v1-9.docs.dapr.io/operations/components/pluggable-components
[4].NET的模板例子:https://github.com/dapr/samples/tree/master/pluggable-components-dotnet-template
[5]對OpenTelemetry的支持:https://v1-9.docs.dapr.io/developing-applications/building-blocks/observability/w3c-tracing-overview/
[6]彈性能力: https://github.com/dapr/dapr/blob/master/docs/development/dapr-metrics.md#resiliency
[7]應用運行狀況檢查:https://v1-9.docs.dapr.io/operations/observability/app-health
[8]默認策略:https://v1-9.docs.dapr.io/operations/resiliency/policies/#setting-default-policies
[9]服務到服務調用中間件組件:https://v1-9.docs.dapr.io/developing-applications/middleware/#configuring-app-middleware-pipelines
[10]用于發布/訂閱的命名空間使用者組: https://v1-9.docs.dapr.io/developing-applications/building-blocks/pubsub/howto-namespace/

    推薦閱讀