天天看點

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],開發團隊可以重用相同的釋出/訂閱底層基礎架構,而無需根據他們運作的命名空間更改其代碼。

相關連結:

[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/​​

繼續閱讀