分散式應用執行時 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 提供了通過彈性規範定義和應用容錯彈性策略的能力。
然後可以將策略一致地應用於目標,其中包括:
2、在可觀測性方面進一步加強,為了提高操作的可見性,元件中添加了新的指標,包括髮布/訂閱、繫結、狀態儲存等。例如:
- 使用元件時的延遲。
- 呼叫給定元件的次數。
Dapr 執行時將事件記錄到標準輸出以便於診斷;例如,列出啟動時載入的元件的其他執行時資訊。使用此版本,您現在可以:
- 開啟應用程式和 Dapr sidecar 之間
- 在輸出日誌中檢視這些呼叫。
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 版,請跳至本節。