這一章主要做個簡單的分布式--前后端分離
目標:項目從單體架構(gòu)改成分布式
1. 新建解決方案和項目
選擇 模型視圖控制器(MVC)
2. 添加 實體類項目 - 添加 User實體類

3. 添加 接口項目 - 添加?IUserService.cs 接口

4. 添加 實現(xiàn)類項目 - 添加?UserService.cs 實現(xiàn)類 - 測試數(shù)據(jù)


5. 簡單的添加好底層和測試數(shù)據(jù),開始添加前端代碼
修改?Startup.cs ,把?IUserService?UserService 注入容器

修改?HomeController.cs 依賴注入?IUserService , 直接調(diào)用?UserAll 方法

修改 Index.cshtml, 循環(huán)把User->Name數(shù)據(jù)讀出來

生成編譯->執(zhí)行命令 這里用 8001端口
dotnet AspNetCore.MicroServiceClient.dll --urls=”http://*:8001” --ip=”127.0.0.1” --port=8001
結(jié)果
這里就完成了簡單的.Net Core Mvc 的單體架構(gòu)示例
接下來就是完成這章的目標:項目從單體架構(gòu)改成分布式
1. 添加一個 Web Api 項目
2. 修改 ServiceInstance項目里?Startup.cs ,把?IUserService?UserService 注入容器

3.添加?UsersController 控制器
4.依賴注入??ILogger 和?IUserService , 添加獲取數(shù)據(jù)的方法

5. 生成編譯->執(zhí)行命令 這里用 8002端口
dotnet AspNetCore.MicroService.ServiceInstance.dll --urls=”http://*:8002” --ip=”127.0.0.1” --port=8002
兩個方法的結(jié)果
6.回到 MicroServiceClient 項目 ,修改?HomeController 控制器

調(diào)用API方法

生成編譯->執(zhí)行命令 這里用 8001端口
dotnet AspNetCore.MicroServiceClient.dll --urls=”http://*:8001” --ip=”127.0.0.1” --port=8001
結(jié)果
這里可以看到結(jié)果和單體架構(gòu)的結(jié)果一樣,可是我們啟動了兩個端口實例,實現(xiàn)了前后端分離,這樣我們就可以把每個業(yè)務(wù)做成一個實例,比如自營、秒殺或者超市等,分成一個個的后端實例,分布到不同服務(wù)器做分布式架構(gòu)開發(fā)了。
注意:如果對怎么執(zhí)行命令和樣式出不來這些問題,可以看我以前的文章
執(zhí)行命令部署 《Kestrel Web 服務(wù)器 》這個鏈接可以解決?執(zhí)行命令和樣式 問題