dapr 是微軟的一個雲原生(Cloud Native)開源項目,英文全稱:Distributed Application Runtime,中文要翻譯的話就是:分布式應用運行時。也就是一個運行時框架,面向雲原生架構。
1、開發環境總要求
要讓dapr在本地開發環境運行起來,需要完成以下幾個要求(我這里以Windows 10環境為例)。 1、dapr CLI的安裝 (命令行工具推薦使用PowerShell 7) 2、docker desktop (需要用到docker容器) 3、dapr 初始化安裝運行時(Runtime )環境:daprd 4、最后如果是基於.net的開發應用程序,必須要有.net SDK ,這里推薦使用:.NET 5 SDK
2、dapr CLI 的安裝
今天來記錄下dapr開發環境的搭建,本來這個是很簡單的步驟,但是由於國內網絡限制的問題,無法按照dapr官方的步驟順利完成。
dapr官方網站入門步驟參考:https://docs.dapr.io/zh-hans/getting-started/
但是按照此指導的第一步(安裝dapr CLI)就會報錯,無法進行下去。
powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex"
如果執行的話,會直接報錯:未能解析此遠程名稱。 原因很簡單,就是國內網絡不通。
怎么辦呢?也不能fq啊。不過不用擔心,也有個辦法:直接到github上去下載,然后將在線安裝改成本地安裝。
1.1、將dapr cli下載到本地
dapr cli github下載地址:(目前發布的最新版本 V1.4.0)
https://github.com/dapr/cli
找到Source Code 直接下載過來。
然后隨便整個目錄(比如我這里隨便創建一個目錄:D:\TechnologyLearning\dapr),解壓。(解壓后的文件夾為:cli-1.4.0)
1.2、修改命令,本地執行
現在可以把命令行,改成本地目錄執行了。
powershell -Command "iwr -useb D:\TechnologyLearning\dapr\cli-1.4.0\install\install.ps1 | iex"
執行等着自動按照完成即可。
為了文章截圖,我又執行了一遍,相對於是reinstall。 你們第一次按照Runtime version 應該是n/a,因為此時運行時還沒安裝才對。【但是沒關系,只要看到Dapr CLI is installed successfully. 說明程序是執行完了的。】
其實本質就是在C:\dapr安裝了個dapr.exe,然后自動添加了系統環境變量。 也就是說:不用腳本按照dapr cli,手動操作也是可以的。
1.3、檢查cli是否安裝成功
可通過命令dapr檢查cli是否安裝成功。(看到畫的大大的dapr,說明cli安裝成功。)
3、dapr 初始化(運行時安裝)
2.1、初始化前需要安裝docker容器
首先看看你電腦有沒有安裝docker,如果沒有,到官網下載一個安裝即可。這里不再贅述。
Docker Desktop 官方下載地址:
Get Docker
docker 一般是啟用WSL2,如果沒升級的話,可以參考微軟官方的文檔升級下即可。
2.2、運行命令 dapr init
接下來按照官方文檔步驟初始化安裝即可。
dapr init
這里可能網絡會有點卡,因為也是需要去github中下載,我試了好幾次才成功。
同時使用
dapr --version
命令驗證下。
看到Runtime version的版本號,說明運行時安裝成功。 CLI version:1.4.0 Runtime version: 1.4.2
注意:一定要看到Runtime version 不是n/a,如果有實際的版本號說明運行時安裝成功。
dapr cli 和runtime 是兩個東西,所以版本號不一樣。
2.3、驗證容器正在運行
dapr init 初始化命令,除了安裝Runtime運行時,還在docker啟動了幾個容器。我們直接運行 docker ps 命令來驗證下。
當然不用命令行,在docker desktop可視化界面中看下也知道的。
可以看出,dapr 進行狀態存儲其實就是用redis緩存的,還用了Zipkin做為微服務鏈路追蹤工具。
2.4 驗證組件目錄已初始化
dapr init 還創建了個組件文件夾目錄(.dapr)
當然官方還是讓用cmd命令行執行的(不是powershell)
explorer "%USERPROFILE%\.dapr\"
不喜歡用命令行的,直接文件夾打開看下好了。
到這里,說明dapr開發環境就順利安裝好了。
接下來可以簡單試2個例子,開啟dapr探索之旅。
4、官方的一個簡單的例子
使用 Dapr 的內置 API
這個其實太簡單了,沒什么實際用途,就是證明下狀態讀取能力。
5、面向.NET 開發人員的dapr
作為.net 開發人員,建議升級到.net5 ,不用再用.net core了。
.NET 5 SDK 官方下載地址:Download .NET 5.0 (Linux, macOS, and Windows)
微軟特意針對.net 開發人員整了個入門教程,參考做下隨機獲取天氣的例子,就會對dapr有感覺了。
例子就是前后端分離(daprFrontEnd、daprBackEnd),通過dapr進行api接口調用。
雖然例子的效果很簡單,但是微軟的這個例子值得一看。
更多的就不再贅述,按照此步驟,大家都應該能實現開發環境順利安裝成功。
