1. 程式人生 > 其它 >分散式應用執行時 Dapr 1.7 釋出

分散式應用執行時 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