【ITBEAR】近年來,云原生技術逐漸成為軟件開發領域的熱門話題。本文將深入探討.NET云原生應用的實踐,通過構建一個具體的案例——“貼紙墻”應用程序,帶領讀者逐步了解云原生應用的搭建和開發過程。
云原生,這一概念或許對部分讀者而言尚顯陌生,但簡而言之,它代表了利用云計算模型優勢構建和運行應用程序的方法。這包括容器化、微服務架構、動態管理以及持續交付等核心特點。
在本次實踐中,我們將基于ASP.NET Core Web API和Blazor WebAssembly,開發一個分布式應用程序,該程序以微服務架構和容器化為基礎。盡管.NET Core這一名稱自.NET 5起已不再使用,但為了清晰起見,本文在不特指經典.NET framework時,仍使用.NET來代表跨平臺的.NET版本。
我們的案例——“貼紙墻”應用,旨在提供一個簡單的增刪改查貼紙的功能。用戶可以在應用中創建、管理和查看自己的貼紙。為了專注于技術討論,我們將忽略貼紙的布局和顏色分類等復雜功能。
在深入技術細節之前,讀者需要具備一定的C#編程基礎,并熟悉面向對象分析和設計的基本概念。我們還將涉及ASP.NET Core Web API、Blazor WebAssembly、領域驅動設計、SaaS與多租戶等關鍵技術。
項目框架結構的搭建是軟件開發的第一步。類似于撰寫文章前先制定提綱,我們在開發軟件時也需要先規劃整體結構。我們的“貼紙墻”應用將包含五個Docker容器,分別實現API網關、認證授權服務、后端API服務、前端應用以及數據庫服務。
在第一階段,我們將重點實現Sticker微服務,這是一個提供貼紙管理功能的后端服務。隨后,我們將接入Keycloak,完成用戶的認證和資源的授權。微服務架構的優勢在于允許團隊成員在異構的技術體系下協同工作,但在本次案例中,我們將逐步進行,以確保每個部分都得到充分的討論和實現。