1. 程式人生 > 其它 >從.net開發做到雲原生運維(四)——.net core的微服務開發

從.net開發做到雲原生運維(四)——.net core的微服務開發

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這個大家可以自行搜尋,這裡我先不展開了,後面的文章會講述下。

Dapr官方文件地址

幾個服務的執行情況如上圖所示,我通過docker-compose啟動了幾個服務。

然後我通過HttpA的服務通過GrpcB呼叫GrpcA就可以將請求傳遞過去。

這些服務都是以容器的形式執行的。開發體驗上和傳統開發方式區別不大。

demo原始碼地址

3. 微服務開發的一些理論知識

下圖是我看的一本關於微服務的書籍,大家有需要也可以買來看看,或者找電子版看看。

微服務的理論知識需要系統的學習,對於在工作中做技術選型和決策有很大的幫助。

.NET 微服務:適用於容器化 .NET 應用程式的體系結構

面向 .NET 開發人員的 Dapr