分布式應用運行時 Dapr 1.7 發布


Dapr 是一個開源、可移植的、事件驅動的運行時,可以幫助開發人員構建在雲和邊緣上運行的彈性的、微服務的、無狀態和有狀態應用程序,並且關注於業務邏輯而不用考慮分布式相關的問題。 分布式相關的問題交給Dapr來解決。

2022年4月8日正式發布了1.7 版本, 這是這是自Dapr v1.0 發布以來的第七次小版本更新,Dapr 1.7.0 版本的貢獻者數量最多。我們要感謝所有 83 位新的和現有的貢獻者,他們幫助實現了這個版本。 這次更新的內容很多都是大家期盼的功能,例如支持離線部署、更多的成熟Stable組件等,接下來我們一起來看看更新的內容。

1、跨 Dapr API 配置重試、超時和斷路器 ,這部分我也寫了一篇文章: Dapr 彈性的策略,Dapr 1.7.0 實現了第一階段目標。分布式應用程序通常由許多服務組成,任何給定應用程序都有數十個甚至數百個實例。這些應用程序並非孤立存在,而是多次依賴於數據庫、緩存、發布/訂閱、秘密存儲和其他基礎設施服務。隨着更多的依賴關系,系統故障的可能性增加。例如,由於硬件故障、數據庫運行緩慢、請求數量過多、應用程序重新啟動/橫向擴展或其他幾個原因,實例可能會失敗或無響應。設計和實施具有容錯能力(檢測、緩解和響應故障的能力)的應用程序可以使您的應用程序恢復到正常運行狀態並自我修復,還有助於防止級聯故障一直到您的基礎設施服務。

Dapr 提供了通過彈性規范定義和應用容錯彈性策略的能力。彈性規范保存在與組件規范相同的位置,並在 Dapr sidecar 啟動時應用。Sidecar確定如何將彈性策略應用於您的 Dapr API 調用。在彈性規范中,您可以為流行的彈性模式定義策略,例如:

然后可以將策略一致地應用於目標,其中包括:

2、在可觀測性方面進一步加強,為了提高操作的可見性,組件中添加了新的指標,包括發布/訂閱、綁定、狀態存儲等。例如:

  • 使用組件時的延遲。
  • 調用給定組件的次數。
Dapr 運行時將事件記錄到標准輸出以便於診斷;例如,列出啟動時加載的組件的其他運行時信息。使用此版本,您現在可以:

3、組件改進,在之前的 Dapr 版本中具有穩定候選版本的以下組件已升級為穩定版本,特別是MQTT 發布訂閱組件的進入穩定狀態,對於在邊緣計算的采用提供了一個非常好的支持:

在這個版本中添加了3個狀態組件,一共有23個狀態組件了,華為雲也開始提交了一個新的狀態組件,1.8 版本會成為新增的狀態組件。

在現有組件中加入了新的功能:

influxdb綁定現在支持查詢。在這個版本中,現在共有 97 個組件,包括 41 個綁定、1 個配置、8 個 HTTP 中間件、3 個名稱解析、13 個 pub/sub、8 個秘密存儲和 23 個狀態存儲。

4、功能從預覽版移至穩定版

在至少兩個版本可用並征求反饋和修復后,一些功能從預覽狀態轉移到穩定狀態。此版本中的以下功能現已穩定:

5、CLI 更新

Kubernetes 命名空間支持

CLI 的命令 components, configurations, 和 list 在返回的輸出結果中支持Kubernetes的命名空間

簡化新根證書和應用程序證書的更新:

  • 引入了dapr mtls renew-certificate命令,可以更輕松地解決集群中的根證書到期和續訂問題。
  • -k如果根證書到期時間不足 30 天,任何使用 Kubernetes 選項的 CLI 命令現在都會引發警告消息。

6、在自托管模式下安裝 Dapr 的新方法

私有和備用映像注冊表(預覽)
在自托管模式下,CLI init命令現在可以:

  • 指定任何私有注冊表以提取安裝 Dapr 所需的容器Image。
  • 提供選擇公共 Docker hub 或 Github 存儲庫的能力。這使您能夠:
    • 將Image放置在您選擇的受信任存儲庫中。
    • 在Image 限制的情況下從不同的公共資源中提取。

 

離線安裝(預覽版)

    默認情況下,Dapr 會下載二進制文件並從網絡中提取Image 以設置開發環境。在此版本中,Dapr 現在支持使用預下載的制品進行離線 安裝,無論是使用 Docker 還是silm環境。每個 Dapr 版本的制品現在都內置在Dapr Installer Bundle中,可以從 repo :https://github.com/dapr/installer-bundle 下載。通過將此安裝程序包與 Dapr CLI  init命令一起使用,從而實現離線安裝。

7、性能改進

Unix 域套接字現在在 Kubernetes 上可用,現在,您可以在使用注釋  dapr.io/unix-domain-socket-path 調用 Dapr sidecar 時將 Unix Domain Sockets 與 Kubernetes(以及自托管)一起使用,以提高吞吐量並降低延遲。

如果您不熟悉 Dapr,請訪問入門頁面並熟悉 Dapr。 文檔已更新,包含此版本的所有新功能和更改。通過概念開發應用程序文檔開始使用此版本中引入的新功能。要將 Dapr 升級到 1.7.0 版,請跳至本節

更多詳情,參見  https://github.com/dapr/dapr/releases/tag/v1.7.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM