1. .net 6.0項目模板變更
在.net 5和.net 3.1的時候,asp.net core項目模板里有個Program類和Startup類,在.net 6中引入了一個最小api的項目模板,在正常的模板中也把Startup類移除了。個人感覺這些做了以后,web項目模板和控制台,Maui這類的項目模板就保持統一了。
下圖是api項目的.net6模板的樣子。
下圖Maui項目模板的Program類的截圖
通過上面的兩張圖我們不難看出.net 6.0確實在統一上做了很多的努力。
2. 基於docker容器開發
個人學習的話,我推薦使用Docker Desktop這個軟件進行安裝。因為我們既可以學習docker容器作為日常開發,也可以用程序里帶的K8s進行學習。
關於Kubernetes(簡稱K8S)的開啟及基本使用,基於Docker Desktop & WSL2
我先用簡單的幾個項目做個演示,我用.net 6.0建了兩個webapi和兩個grpc服務,他們之間通過Dapr連接,然后交叉調用。具體什么是dapr這個大家可以自行搜索,這里我先不展開了,后面的文章會講述下。
幾個服務的運行情況如上圖所示,我通過docker-compose啟動了幾個服務。
然后我通過HttpA的服務通過GrpcB調用GrpcA就可以將請求傳遞過去。
這些服務都是以容器的形式運行的。開發體驗上和傳統開發方式區別不大。
3. 微服務開發的一些理論知識
下圖是我看的一本關於微服務的書籍,大家有需要也可以買來看看,或者找電子版看看。
微服務的理論知識需要系統的學習,對於在工作中做技術選型和決策有很大的幫助。